Contact their customer service directly and file a complain (not by phone), send them an email or a letter (yes, the old-school style still works).
They have a specific department that handle complains, get their details and reach out to it.
They owe you money for the delay and inconveniences , it's written in black on white in their own policy guidelines (just like any other airline, they are no exception).
For each problem you get with an airline that is taken into consideration in their policy book, there's is a flat rate compensation you can get (again, no exceptions, it's an international travel rule).
I edited my 1st message and added a very important paragraph (information):
BUT, you will keep your old passport during the whole process anyway (cause you live abroad and always need one at any time). You will only have to give them your former passport back once you go back to pick up the new one.
It doesn't take 3 months to get a new passport, but closer to 3 or 4 weeks FOR AN EXPAT (it can be longer in your home country, depending on the region you apply for it), cause as so you have priority.
If you go pick it up in Bkk, it will take around 3 weeks to the Embassy to receive it from England. If they send it to your address here in Thailand, it will take close to an additional week for you to have it.
When you'll go to the embassy to apply, they will see your visa issue and take it into consideration too.
BUT, you will keep your old passport during the whole process anyway (cause you live abroad and always need one at any time ). You will only have to give them your former passport back once you go back to pick up the new one.
Two visa exemptions prolonged and then a proper 60 days tourist visa, you should be ok for this time (if you don't look like a hippie too much and even if land borders are easier on looks than airports).
However, after you extend this last one for another 30 days here in the country,, you're done for a good chunk of months, during which you're gonna have to show your face elsewhere buddy.