Take charge here. A 45 minute shower is extremely disrespectful and wasteful of resources. it should be no more than 10-15 max!! I would definitely remind them not to do that and if you have to, install signs. Even hotels have signs reminding guests not to waste water (hope you are not in Cape Town!) you could add it to your house rules so that you have an expectation to refer to. One of our former hosts here, who owned an island, installed a five minute timer on the hot water tank, and voila, people leaped out! extreme but you do what you have to do.
I’m on a rain tank here in Hawaii. When guests arrive I show them the tank and remind them we are on a finite water system completely dependant on what nature gives us and that we need to be mindful of water use. I have not had any issues with crazy showers in years and years!
As for the lights, that’s a bit trickier. If you switch to LED bulbs the pain won’t be as severe.