I just visited Samui last week, and stopped by Chumporn on the way back to Bangkok, so it seemed a good subject to bring up to mix things up here. I've never had much experience with decent coral reef snorkeling anywhere in Thailand, and I'm not trained to dive, so my input is going to be limited, but others can add more.
As background, I lived in Hawaii prior to Bangkok, so I was a bit spoiled by amazing beaches everywhere, with clear water, lots of fish, interesting coral, sea turtles swimming by, eels and octupus around, etc. Here most waters near beaches looks like chocolate milk.
The standard story is that the Andaman side (West side, Indian Ocean related) is clearer than the Gulf of Thailand (East side), and that you need to go out to islands like Phi Phi or at least to remote beach areas like Riley to see clear waters. I've been to Krabi but my wife was pregnant then and wouldn't go on a boat so I can only confirm that the water on the beaches on the mainland are not clear at all. The same is true for Hua Hin and Cha-am, and of course Pattaya, and I experienced the same at Phuket (and Penang, for that matter).
Maybe all that was bad luck, bad timing? Samui wasn't so bad last week, with water clear enough to swim in, not "itchy" as my son described it in Krabi quite some time ago, but again the story was that clear waters were available on a local island, somewhere else, even though Samui is an island, over an hour ferry ride out in the Gulf. The water looked reasonable in Chumporn, but again the idea was decent snorkeling or diving was available at the next island out. Of course I've seen pictures of crystal clear waters in lots of places, in the Phi Phi area outside of Krabi, but other places too. It would have helped if my wife was more into boat outings, to go and check those local islands, but she's not at all, even though she can swim, in part because we have young kids, or maybe just due to a general fear of water.
Essentially every single other Thai island people make claims for about how clear the water is, but then I wonder if it would just be the wrong time there too, or you'd need to go to that next island over instead. Essentially the same occurred in Bali; we went to two main beaches facing two different sides of the island, but really we needed to just be somewhere else, or over to another island.
Any input from first hand experience about snorkeling or diving around Thailand?