If you wanted to spend more time in BKK on the second trip, a workaround would be to take a cheap flight to Chiang Mai (or Vientiane, if your mileage is very tight) and then CNX-xBKK-SIN (or VTE-xBKK-SIN). CNX adds about 200 miles to your total, VTE only about 10, though the latter might potentially involve visa costs.