@Yannis21 Reviews don't need to be binary of good or bad: you can mention all the good things about the stay, then say that there was an issue with towels needing to be replaced. You could also ding them on the cleanliness star rating. For me, it probably wouldn't be a dealbreaker if they were otherwise good guests, and maybe they'll learn for next time.
No, I don't think that the cleaning fee should cover stain damage like this, but I do think that linens and towels do get stained over time and some loss is normal. However, because these guests damaged several towels in the same way, you could ask them to pay for replacements through the resolution center. Overall, I think I'd personally chalk this up to wear and tear and use the towels for something else (personal use or as rags). I've never chosen to charge guests for stained towels or linen: I just count on a certain rate of loss and cover it with my nightly rate.