Hi,
From what I can see, it's not really the custom fields being filled in which prevents the system from going to the next step.
It's because the total amount of the cart changes in some cases based on what you enter in the custom fields.
As the cart total changes, the system prevents validating the current step because if it would be on the last step, it would mean it would validate the order with the price having changed. And the shipping methods might have their price changed which you would like to see on the shipping methods selector too.
I suppose that you're changing the amount of the cart with a plugin implementing a trigger called when the cart is being loaded to add "additionals" to the cart.
For that "double next click" issue to not happen, you should modify your plugin to not do anything if the current task parameter in the URL is "submitstep". That way, the price won't be changed when the custom fields are being modified, but only on the next step.
So it will still work like before, but without having to click twice on the next button.