You could try Koh Tao in the Gulf of Thailand.
There are many shallow snorkeling sites close to the island, which can be visited by road, long-tail boat, or organized tour (there are a few snorkeling companies).
And accommodation prices are reasonable - one Koh Tao resort to have a look at is:
http://www.kohtaosimpleliferesort.com almost 8 years ago
I liked TubTim on Koh Samet - very relaxed at the end of the beach, away from the bustle of the main town. The resort is nice and the sea was lovely.
I used to like Koh Phagnang - Star Huts - but have not been for a while and think that it has got a bit built up recently. almost 8 years ago