You can choose to give the public half of your key to multiple entities to allow them to verify your possesion of the private half of the key but that does not translate into multiple identities.
The main way I've found this to be annoying is GitHub "Deploy Keys"[1]. They treat them similar to users, so you need a unique deploy key per repository. That is pretty annoying when trying to authenticate something like a CI server.
The main alternative is "Machine Users"[1], which are actually normal user accounts. That means they have the same policies as regular users, like mandated 2FA for an organization. And to manage them you have to log-in as that user. That makes it a pain for a team to manage a Machine User.
GitHub really needs to have Service Accounts that belong to an organization, and can be managed by admins of the organization (without having to log-in as the Service Account). The Service Accounts should be able to have SSH keys and API tokens associated with them.
I was once told explicitly by GitHub Support (just as a reminder) that one person having multiple accounts is against their TOS, so there’s that. (This was years ago, not sure if TOS has changed in this aspect.)
Their Terms of Service (https://help.github.com/en/github/site-policy/github-terms-o...) say:
One person or legal entity may maintain no more than one free Account (if you choose to control a machine account as well, that's fine, but it can only be used for running a machine).
I was told by GitHub Support less than a month ago that in order for Actions to trigger other Actions I'd need to make a new separate account with repo access and have them act using its PAT.
GitHub is not what it used to be when this "restriction" was made. These days, where a lot of companies decide to go with github, it's not uncommon for people to have one personal account and one work account.
This becomes messy to manage, as it's not easy(as far as I know) to use the same account on your personal PC to do both personal and work work.
In essence stop using git username globally and start supporting user names.