do we have to have some sort of government that allocates them?
Everyone already needs to agree on the data and metadata format. This is just an extension of it. People already agree on the strings the current json-encoding of e.g. multihash uses. A server must reject messages that use an unknown suffix in the metadata, because it can't verify them. So we already have this centralized namespace. It's just more efficient to allocate integers rather than strings.
Multiboxes are conceptually different from multi{hash/key}, in that unknown formats are accepted and saved rather than flat-out rejected. When #hsdt comes along and adds cypherlinks to the free-form data format, then multi{hash/key} will also need to store unknown formats. But multi{hash/key}s in the metadata will still be rejected by a server that doesn't know the crypto primitive.
I'm arguing that we should rather store these future-proof multiformats by using integers than strings, as that is far more efficient. Well, and I want to keep emojis and surrogate points out of our multiformats handling.
The ability to express 2^64 different primitives is more than enough already. It's also enough space that people can use their custom box formats or to use their own cypherlinks inside content data, without a high probability of collisions. So there's no more "goverment" than there already is: The consus of correctly implementing the protocol.