It is clear that Amir feels that he himself is unclean and therefore he feels a bond with Soraya. Her blemish is what makes her right for Amir and in the end she proves that she is a good wife because Amir is able to share his past with her and she does not blame or condemn him for his crime. I did wonder as I read the book if Amir and Soraya had not been in the United States if they would have married.
Although Amir has to admit that his pride was stung at the idea that Soraya had been with another man while he had never taken another woman, he reasons, "how could I, of all people, chastise someone for their past?" Amir cannot forget his treachery in betraying his Hassan so many years before, and he understands that since his own sin is so great, he has no right to condemn another (Chapter 12).
Amir had actually known about Soraya's past before she spoke to him about it. He had heard rumors, and had asked Baba to confirm them. Baba said that he also had heard things about Soraya, but he counseled that she was "a decent girl", and that thought it was unfair, "what happens in a few days, sometimes even a single day, can change the course of a whole lifetime". Amir, thinking about how his own actions changed the entire course of his and Hassan's lives, well understood what his father meant, and had made up his mind not to hold Soraya's past mistakes against her (Chapter 11).
Amir has great admiration for Soraya's courage in telling him about her relationship with another man, and envies her because "her secret (is) out". He almost tells her how he had betrayed Hassan and destroyed their friendship as well as "the forty-year relationship between Baba and Ali", but does not have the nerve to carry it through. He realizes that despite her mistakes, Soraya is "a better person" than he is (Chapter 12).