Saleor handles the checkout creation locally in the frontend. In the first step in checkout at latest the checkout is created in the backend via GraphQL.
On page loads there is a kind of synchronisation. If you have a pre-existing checkout this failed for us at the address selection state with too few components rendered.
The issue can be resolved by removing the pre-existing checkout (e.g. with a cron job deleting all checkouts that are older than 8 hours).
This doesn´t create a problem with orders, as checkouts are deleted when a payment for a checkout is successful and the order created.
Let me know when it helped you.