If you want good walk in from the beach snorkelling, Akumal Beach on the Mayan Riviera is known for it. I would also suggest Roatan, Honduras, depending on the time of year (avoid rainy season). Cuba would be good if your standards are not set too high, although it can be cool on the Atlantic side depending on the month (also true of the Mayan Riviera.) Huatulco in Mexico is pretty much guaranteed good weather. Breezes is a nice option there, with snorkelling available from the hotel beach.
My own preference is Cuba, but I can live without a lot of amenities, so I tend to go to the south coast in winter for the warmth and good snorkelling. Cayo Largo also rates a look. Wonderful beaches!