I have dived all over Thailand. Personally I'd skip Koh Tao. Sail rock and a few others are impressive dive sites on their own, but you will most likely have an uncomfortable amount of other dive boats in the area. It feels more like a tour guide with 50 other people than diving. However I must say, there really is an impressive amount of large fish on the sites. It is literally swarming with fish. I did 3 weeks in Similan and it was solid. Not the best viz around 5-10m depending on the dive but i think we were unlucky. Had some dives where it was closer to 15m but don't expect crystal clear and otherwise it's nice. I'm lucky enough to do everything privately so I can't speak to a dive company but I saw some liveaboards that seemed to be efficient. I had some really insane night dives there and West of Eden was our favorite site.
However.... I've dived all over the world and in my opinion, Thailand is home to what i consider the most underrated reef I've ever dived. It's not Similan, or Richelieu, or Koh Tao.
Koh Lipe is incredible. Particularly Stonehenge Reef. I dived some other spots and then just did 5 days in a row on Stonehenge because it was that good. The most beautiful soft coral reef I've ever seen. And absolute macro heaven which is what I like. I spotted more seahorses there than I've seen diving everywhere else in the world combined. (And it wasn't just the same one over and over again

)... also some really cool nudis and weird devilfish, octopus on every night dive, coral cat shark which i had never seen before. It was incredible and stunningly beautiful. It's also a chilled out island and perfect for a more relaxed atmosphere than koh Tao in my opinion.
Anyway, I love to rant about diving. If you decide on Similan or Koh Tao you'll enjoy it. If it was me I'd go for similan and Koh Lipe.
Cheers