If you want to have customers that cancel on a whim that's your prerogative. Mine is to make an agreement and stick to it.
That's the crux of it there. I doubt you set an agreement at point of sale that you would continue to clean throughout the winter and that this was part of the ongoing contract. I doubt that you stated that any deviation from that was tantamount to breach of contract and that your service would be terminated and an onslaught of flouncing would ensue.
If you tried to enforce that on people in a properly competitive market you'd be screwed in no time. Perhaps you've not got as much competition as you think?
Anyway, these people are not cancelling. Monthly ones will miss 3-4 cleans, bi monthlies will miss 1-2. Those months being December (short days + at least 2 days off for Christmas), January (short days + at least 2 days off for new year), and February (short days, short month), all with the possibility of adverse weather. If you're not struggling to get finished in these months you need to buck your ideas up, what have you been doing all summer?
Also, you get to charge them a nice big fat one off price when they phone up wanting their windows cleaned for Christmas, if you've got time of course. Often I don't, if only more customers would stop over winter, eh.