In pronouncing or spelling-out numbers we have competing pressures of accuracy, completion, simplicity and concision.
If anything we should 911 should be "nine hundred and eleven". The form "nine-eleven" can be understood either as a change to breaking it into units before forming words (hence 911 becomes 9 11 before becoming "nine eleven") or as an abbreviation where the "hundred" is omitted.
We are more likely to do this when the number has no numerical value, which is the case with both the name and the phone number (they are not one greater than 910 or otherwise arithmetically meaningful, but merely identifiers or names), because their lacking meaning as whole numbers means no loss of meaning happens when our speaking them hides the arithmetic value. So for something like "what is 410 + 501?" or "What is the second-highest three-digit Sophie Germain prime?" we'd be more likely to say "nine hundred and eleven" than we would with such codes as the two cases you give here.
Phone numbers are particularly likely to be given as individual numbers originally because they were very small (always one, two or three-figures*) and generally managed by the operators as individual units and later when rotary (and later again push-button) dialers became common, by individuals.
The advantage of individual digits decreases as numbers become larger. Some cultures deal with this by grouping a different way (in some places grouping into double-digit units is common) but English-speaking countries tend not to do this. We do though spot patterns and so e.g. "double-four" and "triple-seven" will jump out at us and so become how we speak out the number. We also have a tendency to spot hundreds because they're significant in our decimal numeric system and something we commonly round to, so "oh eight-hundred" is more likely to appear than "oh eight oh oh". The fact that hundreds often appear in special-priced area codes that are free, higher-priced or local-priced from whichever area they are called from only serves to reinforce this (for example 0800 in the UK and Germany and 1800 in Ireland and the US are all freephone numbers).
*Indeed the choice of 911 comes at a time when many exchanges were fixed on three digits. The obvious choice of starting at 111 [a low number and the one most easily dialled on a rotary dialer] was already taken on some exchanges and sometimes mis-dialled by faulty equipment so while some places did indeed pick that as the number for emergency services, 999 and 911 being well into the area that were not yet taken were also used. New Zealand used 111 because the mis-dialing issue happened more often with 999 for their pulse-dialing system.