I still think that Railay Beach in Krabi is the best choice - even though it's not an island - for all intents and purposes, the experience is the same, because it's isolated from the rest of the mainland by large rock formations, and needs to be reached by boat.