I booked on spot from the tourist information centre. You will get few tourist information centres over there. I have shown that in the previous vlog of Krabi. Yes booking on spot the previous night is better and you can negotiate a better deal specially if you are in a group.
There are only 3 or 4 companies which operate. You can book from the local tourist information centres there (which usually sells packages from all the available tour operator companies). They will give you the options available depending on the facilities and the boat you chose. You can negotiate accordingly.