The train is not a bad way to do it
There is a train line all the way from Singapore to Bangkok. It is a diesel train the whole way. Maybe 20% slower than the bus overall, but a better experience. Singapore to Kuala Lumpur is an overnight train. Kuala Lumpur to Butterworth is also an overnight train; easy to take a ferry to Penang from Butterworth. Once you cross over into Thailand, vendors swarm the train with their treats, which are always reasonably priced. I had several great meals in Hat Yai, and enjoyed my stops in Prachuap and Hua Hin. Phuket is not on the rail line, but if you need a beach, Hua Hin is a good choice, and is a little cheaper, too.
Unless you go at a holiday period, you will be able to book at the last minute. Even the sleeper berths are available last minute for mid-week travel.