Joiner/guest fees are charged for one of two reasons:
1. It's one more way that a hotel can make money.
2. The hotel wants to discourage registered guests from bringing TBA "guests" back to the hotel room.
IMO it appears that the number of hotels charging joiner fees is on the rise, primarily for the first reason, I suspect. If these fees are a concern, it is best to check with the hotel before booking. (The good news is that even with the fee the rates for most Thai hotels are still an incredible bargain.)