Since you’re using W3 Total Cache, you need to:
1. Clear its cache every time you make changes to products or button shortcodes, also after plugin updates (W3 Total Cache informs you about this anyway).
2. Add checkout results page to exclusion list in order for it not to be cached. This is specifically stated on plugin settings page:
Important Notice: if you are using caching plugins on your site (similar to W3 Total Cache, WP Rocket etc), you must exclude checkout results page from caching. Failing to do so will result in unpredictable checkout results output.