**Generally, no—plan to pay for accommodation during your scheduled 21-hour layover.** A [traveller report about this exact connection](https://travel.stackexchange.com/questions/94836/will-thai-airways-provide-free-accommodation-for-transit-in-bangkok) says Thai Airways does not provide free transit hotels, though that answer dates from 2017. I couldn’t find a current official policy guaranteeing this benefit.

Ask Thai Airways or your booking agent to check your specific ticket before travelling. If they don’t confirm complimentary accommodation, you can book a nearby hotel or the airport’s [Miracle Transit Hotel](https://suvarnabhumi.airportthai.co.th/service/facility/detail/884). For a hotel outside the transit area, check that your passport allows you to enter Thailand.