The write_checkouts and write_orders scopes are two different things. Write_orders will give you access to the Order API, but the Checkout API is something entirely separate and that’s when the write_checkouts scope is required.
The Checkout API is also only available to apps utilizing our Sales Channel SDK - so if your app is not a Sales Channel, you won’t be able to use the Checkout API. It sounds like that might be the source of the problems you’re having at the moment.