Why not use a national ID as username for every website?
- Privacy. Being able to link every user account to a natural person would be the end of anonymity on the Internet. Maybe you have nothing to hide, so that's of no concern for you. But as Edward Snowden said: "Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say".
- Not every person on the planet would have a national ID number. There are countries in the world which don't give ID numbers to their citizens. In some regions of the world, residency registration is spotty at best or nonexistent. People from these countries could no longer actively use the Internet anymore. Also, there are edge-cases like stateless people, people with multiple citizenships or people from disputed territories.
In those countries which do have ID numbers, you have the problem of proving that someone is indeed the owner of an ID number. Because your ID number is public knowledge, I could use it to register in your name on any website I want, thus stealing your identity.
A solution to this problem would be a state-supported authentication service (something like OAuth). But considering how many governments there are in the world, it would be impossible to agree on a protocol standard which is supported by everyone all over the world. And if you do somehow get the ~200 or so governments in the world to cooperate on something (a feat worthy of a Nobel Peace Prize), you now put a tremendous responsibility into their hands. Not only could they very easily prevent their citizens from using any services they don't like by no longer authenticating their citizens to it, they could also impersonate their citizens on any website.
You can't:
have multiple, separate accounts (e.g. separate professional and personal accounts, or a separate parody account)
have a truly anonymous account
have an account if you're a stateless person, or from a country that doesn't have a national ID, or too young or otherwise ineligible to have a national ID
allow the national ID scheme(s) to ever change (or re-issue numbers)
In some countries, it is simply forbidden to use the most important unique IDs in other databases than those for which it was originally meant for. For example, you would get an ID for the state-run health insurance system, which the tax office is not allowed to use and vice versa. All this to ensure privacy and make it more difficult to cross-reference databases with personal information.
In fact, EU requirements regarding personal information are getting stricter and all the companies you mentioned already have trouble ensuring compliance with their current approach. That alone is reason enough to avoid national ID numbers like the plague.