When I create a new virtual server, it fails the let’s encrypt request saying it received too many requests. All I did was creating a virtual server, I did not do any requests myself.
That means it failed (most likely DNS was wrong when you created the domain).
Virtualmin thinks it is managing your DNS (or it wouldn’t have tried DNS validation), so that indicates to me you’ve got Virtualmin misconfigured. If you’re not hosting DNS on the Virtualmin system, you shouldn’t let Virtualmin believe you are. Turn off that feature in Features and Plugins. Virtualmin will then offer you a page of “Suggested DNS Records” you can copy/paste to your actual DNS servers.