Hi,
First the couple of places that you've mentioned.
Unawatuna,,
a very narrow beach . Snorkelling would be around the reef which is quite a way out from the beach. Coral and fish, for snorkelling, I don't know. I also don't know of any cheap accomodation there.
Mirissa...
Lovely beach but open to the sea , so most of the time, too choppy for snorkelling. There is a small section of beach at the eastern end which is partially sheltered but usually bad viz. due to the currents.
Another place that you havn't mentioned I reckon is your best bet of a reasonably quiet beach combined with snorkelling.
Thats at Polhenna. A sort of suburb of Matara.
It's a small beach, mainly used by locals, rarely get tourists there. Not too far out there's a reef with some coral and colourful fish.
Place to stay there,
Sunil's Rest , Guest House and Restaurant,
16/3A, 2nd Crossroads,
Polhenna.
An excellent guest house built around the family home. All good rooms , en-suite and real Sri Lankan home cooking. Should get a double room for less than 1500
It lies in a little quiet lane which leads directly to the beach, about 100 metres away.
Easy way to get there is a short bus run out of Matara going west but first time it would be easier to get a tuk tuk from matara.
Without the snorkelling, I like the beach at Nilwella about half way between Tangalle and Dikwella.
Also Mirissa beach.
and Hikkduwa where you have a choice of the huge open beach southern end of Hikkaduwa or the reef sheltered beach nearer fishing harbour.
Rod.
Rod.