Natural language tends to have a high degree of disambiguating redundancy and is used to communicate between humans, who are good at making use of that. Programming languages have somewhat less of disambiguating redundancy (or in extreme cases almost none), and, most critically, are used to communicate with compilers and interpreters that have zero capacity to make use of it even when it is present.
This makes "letter looks like a digit that would rarely be used in a place where both make sense" a lot more of a problem for a font used with a programming language than a font used for a natural language.