Why are “numeric only” names disallowed when creating a new site in a WordPress multisite network?

To make this easier, I’m rewriting my plugin code so that the user doesn’t input their own site name. Instead, it’s automatically generated for them behind the scenes.

+1000

As with most “why is the core code like that”, it is probably better to either look at GIT/SVN “blame” and hope you can find a useful comment either in the code or the commits, but AFAIR this code is ancient from the days when MS was a standalone product which will make digging reason up even harder.

Assuming there is no helpful explanation in the code, I would assume that the cause is that in the context of subdomain configuration some DNS hosts/software incompatibility, or web servers having hard time parsing it, something that is probably not true this days.
For some more context read https://serverfault.com/questions/172041/numeric-subdomain