Hard to tell - I don’t think the nearly identical usernames is the reason in one of the cases, but then again, his profile suddenly works again.
When Discourse detects a username from my main site that clashes it just named it “UsernameX” where X is the next available number that makes an available username (my main site doesn’t have usernames, but display names that doesn’t need to be unique).
My feeling is that something else is going on, but I can’t spot what it is. The accounts I’ve spotted were all over a year old though.
The problem on my site isn’t widespread, but it’s super annoying to the active ones (though only SmokyBlue comes to mind right now).