Some third-party plugins call
do_shortcode() on their own, which causes the "Proceed to Checkout" Button to go missing on the final rendering of the checkout page ("confirm your details"). The solution was to deactivate those pesky third-party plugins, like Facebook Image, but now this is being caused by Jetpack and Newsletter plugins as well.
I had a look at the code and it's because the "Proceed to Checkout" button is added with an include_once() call. It gets included on the first call to
do_shortcode(), but not on the subsequent calls.
Please help, as I cannot afford to deactivate Jetpack and Newsletter!