I don't really blame the princess. She is acting entirely on how she was raised and is trying to seduce the MC for her peoples sake. By saving them, giving them land and protecting them he is offering far more than their labor could repay. It would be quite practical for the princess to attempt to marry in order to assure her peoples future.
Not saying it makes it right to sexually assault the MC but I do understand why she did it. Also, again, while not necessary it would be kind of the MC to comply for the piece of mind of the villagers (though he has already been kind enough and doesn't need to).