This isnt exactly an answer to you question but I observed something. Im a bs also (i hope you dont mind)...but I notice you are blaming yourself for "not being a great husband those 2 years" If thats true or not, its still not a reason to cheat. The blame is not yours its hers. You said you both were not great at communicating and saying what you wanted but you didnt step outside the relationship right? So neither should she. Im no trying to speak down on her because trust me, my ws is no peach! I have let him place blame on me too. Just want you to know you dont deserve that.
Also, you said you are trying overdrive to show her how much you love her...does she do the same for you?
Though she obviously has some issues, you are the victim of her actions...she should be consoling you.