This technically isn't a rule enforced by the games, but VGC enforces it so doubles doesn't get confusing for which mon is which. The same concept applies here. In Doubles, if you have two Pokemon nicknamed "Bob", and you miss one, it is ambiguous which Pokemon they missed. Many other effects that only show a message and not an animation would be affected. As a result, it would be optimal for everyone to nickname all of their Pokemon the same name, which would be stupid. Even in singles this is annoying in formats that don't force Species Clause.Pretty sure this is a rule from the games themselves not us.
And, for example, in the next Pokémon's game, what will Showdown do? Will it put everything from gen 7 to gen 9 or will it be based on gen 8 and we will run out of megas and Z?