I usually ask friends/family to pay for the cleaning helper’s time, and yes, I limit the number of nights, which seems to work for everyone. If it’s a slow season, no problem/no charge. But if they want to stay more than a couple of nights during busy times, I do ask them to pay and give them a discount.
That said, the worst hosting experience I ever had was with friends of friends. I offered free nights to good friends who were getting married so friends from across the country could afford to attend the wedding. It was a nightmare, and the guests left the cottages trashed, the toilets clogged with diaper liners, and strawberry jam from one end of the house to the other along the walls. And they overstayed the agreed-upon checkout by hours.
I was lucky I had a two day break before the next guests arrived, because I kept noticing a bad smell and finally found a nasty diaper in the very back of the cabinet under the sink behind a basket of cleaning products. It was almost like it was hidden there. I don’t even want to know what was up with that.
Anyway, even though I THOUGHT I had made it clear about checkin, checkout, small cleaning fee, etc. they just ignored me. I’ve never been so relieved to see people leave. Now, I’m super-clear, even with (or maybe more especially with) family.