To answer one of your questions. Guest checkout can be enabled/disabled
To disable guest checkout:
On the Admin sidebar, click Stores.
In the Settings section, choose Configuration.
In the Sales section in the left panel, choose Checkout.
Expand the Checkout Options section.
If necessary, clear the Use system value checkbox.
If the setting is for a specific store view, choose the store view where the configuration applies. When prompted, click OK to continue.
Set Allow Guest Checkout to “Yes/No”.
Click Save Config.
There is a discussion on this.
I agree with one of the comments. In my mind the order flow doesn't work. The option shouldn't be on guest. You have to use valid payment details to progress. Account could be created after.
Unless of course you have another scenario which requires you to have catcpha? Are you currently getting spam orders?