I've been to Tioman and thouroughly enjoyed myself there. It has one of the best dive sites in Asia but the beaches are not as fantastic. You can consider Pulau Aur too. However,you won't find clear blue waters there. But if you go to Thailand , you can find beaches with white sand and clear waters at Koh Phi Phi , Koh Samui and other beaches. There are countless other beaches around Thailand which are very attractive.
Sairee Beach, Koh Tao-Once almost exclusively a base for divers, visitors are slowly realizing that Ko Tao has more to offer than just a place to eat and sleep between dives.
The resorts around there are more commercialised hence more comfortable as well. I think the rates are higher there too if i can remember correctly.
I'd definitely go to Chinatown in KL if i have the time , you can bargain for cheap stuff there and eat great food!Also ,since you have 20 days ,you may want to check out the indoor themepark at the largest shopping centre in Malaysia, Berjaya Times Square.
hope this helped