I could quite possily be that guy that says "That's how it's programmed" but that isn't much of a answer so I'll spare you the trouble of disregarding it :)
My opinion on why this is, is that it adds 2 things to the game:
More of a challenge, sure it gets insanely annoying but it IS a bit more challenging, especially if your forgot they rematch you and your Pokemon are weakened from battles elsewhere.
It makes the game realistic. If you lose to a gym leader are you going to rematch him at a later time? Heck yeah you are! Same goes for here. It makes it seem as if the NPC's rematching you want to get better by battling you, and hopefully progress until they can beat you.