I host a lot of exchange students with an average length of stay being 4 months. Henry and I provide bedding changes every 2 weeks and have had no complaints yet.
Since our listing is a private room we communicate with guests on a daily basis and usually just ask if they would like new sheets before the 2 week point or if they are okay with the 2 week cycle the first couple weeks.
If guests are told to do their own laundry I doubt they will wash and change sheets every week. Also Henry and I like to handle sheet changes and laundry ourselves to check for stains and make sure laundry is done according to our standards. Same for towels. Without proper stain treatment prior to wash, some stains will set and never come out - meaning we'd have to replace those sheets after that particluar guest leaves.
We supply clean towels as needed, with at least 2 bath+4 hand towels in the bathroom cabinet and we check and add new clean towels every 4~6 days to keep it stocked. We also empty the trash bins in the guest room and guest bath regularly because recycling rules in Korea are complicated and it's just easier for us to handle the trash & recycling disposal. We also supply TP, shampoo, conditioner, body wash, soap, toothpaste, q-tips, kleenex throughout the guest's stay, along with cooking oil, salt+pepper and other basic condiments.
Especially when it comes to exchange student guests, we tend to compete with dorms which are closer to school but are usually 2~3 students to a room, shared baths & shower facilities, no cooking allowed, no bedding or towels provided, and have curfews or with gosiwons which are teeny tiny micro-rooms, or homestay hosts that are more "involved" with the students.
Our pricing reflects the services which are provided (we don't have a cleaning fee) - we adjust the monthly discount to make sure we are charging enough to cover expenses for supplying all amenities throughout the guest's stay, and even a few extras here and there.
If you think it will help, please feel free to take a look at my listing to see how I've set it up for longer stays 🙂