It's not. The reason for this is not technical (unless you think they literally filled their user database with every possible username permutation with the word 'clyde' in it). It's to make sure scammers can't use names with these words in it, because it might make more people consider those accounts legitimate.
Yeah, sure. The very first comment in the Reddit thread says "I use Clydē and it works," and the third one is "CIyde. Use capital i instead of L," so nice try, but no.
All usernames on Discord have a four-digit number after them called a discriminator, separated from the rest of the name by a # symbol. In the Reddit post in question, that number is #6381.
The problem isn't that the (fake) bot is in the same namespace as users; if there were any problem like that at all, it would be a shortage of discriminators.
However, that's not what this message is saying. It's saying that the name cannot contain "Clyde". In other words, you wouldn't be able to use any name that had the word "Clyde" in it, taken or not.
The fact that they haven't attempted to block usage of "CIyde" and similar does suggest they might not have thought it through, but it's verifiably not a namespace issue.
I think you're talking past each other. Having to try to block names containing or appearing similar to "Clyde" is a result of having the bot in a public namespace.
Just as a random, poorly thought-out example, internal stuff could be namespaced with a different prefix like "&Clyde" instead of "@Clyde". As long as users know that official stuff is addressed with &, it matters less what people do with @-namespaced stuff because there's an easy way to tell whether it's actually official or not.
By putting official stuff in the same namespace as user-generated stuff, it's much harder to tell whether something is an official tool or not. @CIyde could be a real internal account.
It's probably a mix of both.
Namespacing often seems to be an afterthought in many systems, and it can be hard to refactor in once an architecture has solidified.
It's not always the wrong choice to mingle identifiers of different types, but I think often people err on the side of convenience (/ laziness) instead of thinking through all of the potential issues.
The discord username namespace is weird. You get to set a display name which doesn't have to be unique so you can have the name "Bob" and that's what shows up when you message people, but then you also have a unique version on your profile that looks something like "Bob#3922" I'm not sure what happens if 10,000 people pick the same name but as far as I know, there is no limitation to how many people can have the same username.
So it seems almost impossible that this is some technical limitation but rather Discord cracking down on a common deception tactic.