But he probably isn't going to change a lot, so you face a tough choice. Only you know if you're getting enough pleasure to make up for being uncomfortable with his fantasy and disapproving of his past. Don't marry a man unless you are willing to be with him if he never changes. Fully accepting a man means accepting his past and present. If you intend to marry this guy, get used to it.
Fantasies die very slowly, and sometimes live forever.
Yes, guys who are too nice often finish last. They don't know how to play the mating game. They're no fun. For a woman, being with them is like pulling the handle on a slot machine and always getting ten coins. You're winning, but it's boring.