"Yes, it’s just how to say to them to come for shorter times without upsetting them."
So you might upset them. So what? They have really upset you! Why is it ok for them to upset you but not the other way around? They are adults, they should be able to handle a little conflict. Adult daughters are allowed to have their own lives, wants, and needs that differ from what satisfies their parents. You are a person, not a service bot.
"no more than two weeks stay (I have actually said this before as they once stayed for just over 3 weeks)"
If you have tried to set boundaries before and they are still coming for long periods (I seem to recall they have chosen a 3 week stay and a 2 week stay, so actually it's longer cumulative time than before you told them their visits were too long.) So why, when they booked their visit, which failed to comply with your instructions (no more than 2 weeks), did you not assert the boundary you had previously stated? Even if it had cost them money because they booked before checking with you, you could have said, "I told you last time that I am not able to have you for more than 2 weeks. You'll have to cancel or rebook for just 2 weeks."
To me it sounds like you tried to set a very reasonable boundary and they bulldozed over it using the knowledge that if they had already purchased the tickets, you would feel like you were making them "out of pocket" by telling them you couldn't host them for that long. But if you did say that, their problem would not have been caused by you, but by their own choice to ignore your boundary.
I get the impression you are having trouble standing up for yourself when it comes to them. Maybe you need to start by setting smaller boundaries with them, to give yourself confidence that it is ok to be your own person and not just their personal hotelier. This would also give them some warning that when you set a boundary, you mean it, and they should respect it. Maybe you could stop cooking dinner and tell them they'll need to start eating out (at their own expense, of course) because hosting them has worn you out both physically and financially. If they start saying that your daughter is behaving badly, I think it is ok to respond that having them there "for such a long time" has disrupted her normal routine and put her out of sorts.