Because then it to be normalised in the right way for comparisons to work, or it will only match if your input method happens to produce the exact same variant.
... And unicode is an evolving standard where this normalisation sometimes changes between standards, so the names as normalised in the old version of your standard library might disagree with the new version. So you need to care for that transition.
... And often this is implemented separately for different languages, so you can get names that won't match if you normalise them in python, java or C.
... And as all implementations, these unicode implementations sometimes have bugs, so you need to think not only about matching supported unicode versions, but matching bugs.
... And any change in these normalisations can in theory lead to two usernames that used to be distinct becoming identical.
It's a deep well