Of course rematches are not mandatory. There's a thousand possible reasons why you might not want to do a rematch, but it's none of the challenger's business anyway. If he's accosting you, just block the guy and forget about it.
rematches mandatory?
If I'm online and playing a bunch of games in a row, I generally feel obligated to give a rematch if I played white in the first game, or if I won on time when my opponent had a much better position. I also feel like my opponent has the same obligation. There's nothing wrong with turning down a rematch per se - sometimes I don't feel like playing any more, or I find my opponent's playing style really obnoxious (eg, 1. h4...2.a4...3.ra3). But I hate it when I put out a seek, play someone, they turn me down for a rematch when I request it, so I put out another seek and we get paired, they abort, I put a seek, we get paired, they abort, etc. I wish there was a way to report that.
Recently got a message from a player who was apparently insulted when i didn't rematch him/her in a blitz game. I had already forgotten the game, didn't know whether i won or lost. I usually don't rematch, win or lose, because i like to play different people. I will, of course, rematch a friend if requested but this guy was a complete stranger. Handed me the usual guff about me not being confident of my game and why should i play chess in the first place, etc, etc. 99% of people i play are polite and have common sense, but there's always that 1%. I don't remember whether i had to go to the bathroom or have dinner or just didn't want to play him again. Who cares. It's my choice or the site wouldn't give me an option. Maybe we should have a category outside blitz or standard for these people so that they can rant and rave against each other all day.