Well here's the vital question: how did you find out? If he got busted then I wouldn't trust him further than I could throw him. However, if he came to you confessing his transgressions and seemed truly remorseful then perhaps you could consider it.
Though, that's solely based on what you think that you can handle. You're not obligated to give him a second chance, he did cheat after all, no matter how you found out.
Also, I don't believe the "once a cheater, always a cheater" but I do believe that a man who's cheated and gotten away with it (if you "forgive", it technically means he got away with it) is more inclined to do so again and just learn from his mistakes.
I'm slightly confuddled by the fact that he listed reasons why he did it. Were any of those reasons justifiable to you? Like did any of it make sense? Because listing reasons almost implies that he felt some sort of logic in his actions, or at least something he could backup and explain away to you. Like, how exactly did he intend to make up for it too?
I'm interested in all of that because obviously you took some of that into account given that you are considering giving him a second chance (which, I'm not against) but you need to be aware of what type of person that you're dealing with. And if he's giving you reasons that made sense to him as to why he cheated that you also agree with, well, in some kind of odd way, I worry he might find just cause to do so again.
Either way, it's on you. I wish I could tell you what to do. Perhaps he has learned from his mistakes, perhaps he hasn't and will just become a better criminal. You have your gut to help you with that. You know him. Take everything that you know about him and put it together and remove your emotions. If you didn't "love" him, would you tell somebody else to take him back?
Think about that.