I just wrote out a long reply and my internet connection went down when I posted it. I hate it when that happens.
Anyway, I was saying that although the Chiang Mai - Ko Samui direct flight is relatively expensive (c. 7000 baht one way), it does save a lot of hassle. Given your relative lack of time, it is well worth considering swallowing the high cost and taking this flight. Bangkok Airways is a very pleasant airline to fly with, too.
Another way that I tried recently was taking an overnight train from Chiang Mai to Bangkok. On arrival in Bangkok, I took a taxi straight to the airport, and caught the Air Asia flight to Surat Thani (most of the time you will be fine doing this, but bear in mind that train delays can occur, although if you get the first overnight train from Chiang Mai your train would have to be very delayed indeed for you to miss your flight).
The main disadvantage to this way of doing things is that Surat Thani airport is a long way from Don Sak pier (where boats to Ko Pha Ngan and Ko Samui depart). Once your flight touches down at Surat Thani airport, it's the best part of 2 hours on the bus to the pier. Then you'll probably have to wait for a ferry, and then it's 3 hours on the boat to Ko Pha Ngan (Ko Samui is a little closer).
As Chanchao points out, you can also Air Asia it from Chiang Mai to Bangkok, then take another Air Asia flight to Surat Thani. But then you've got the hassle of changing flights in Bangkok (and as Air Asia is a point to point airline, they don't check your luggage all the way through to Surat). And once you get to Surat Thani, it's minimum 5 hours to Ko Pha Ngan from there. Overall, although the direct flight is more expensive overall, it does save a lot of time and hassle, particularly given your relatively short holiday.