There should be a very short list of users names that aren't acceptable.
Occasionally there are names that contain foul language, use hate speech, or refer to body parts.
The owners can decide a few words that they simply don't want to show up on their site.
Beyond a very short list, any words on a slightly longer list should automatically notify the site's moderator (and if the change is network-wide, also the moderators here) that they should look at the name change, possibly even approve it before it goes live.
That way people can write whatever for a username and their free speech rights would be respected without blasting everyone with foul language or hate speech.