How odd indeed. Maybe it's a US thing.
Why not replace your top sheets and blankets with a duvet to avoid this problem @Sean375
The guests booking for one and showing up wth two is a simple thing to fix.
Put in your house rules that your single rooms accommodate one guest only and that if guests book for one but turn up with two guests, the second guest will not be allowed to stay, so if they want a room for two please book your double room
Confirm this through messaging to all single guests.
If you don't want to be taken advantage of - you need to stop letting these guests walk all over you and act in a firm, professional manner. Point out that it says clearly in your house rules, that the room is just for one and you followed this up with a direct message to them, yet they have turned up with two and you are confused as to why they have done this. If your double is available say if they want to have two stay need to move to the double and pay for the additional guest. If they don't want to do this, then only one of them can stay.
There is no reason for you to let two guests stay in a room for one.
I do hope you have been leaving honest reviews for the guests who have been doing this to warn future hosts who they may be booking with.