I believe that what Edward has done later in his life atoned for his earlier "sins". I don't even want to call it sins. Because it was in his nature. Edward is a predator by nature. He can't help that. He didn't choose this life, it was chosen for him by Carlisle. And the fact that he gave in to those natural desires, does not make it a sin for me. But let's just for arguements sake say that they are sins, because it makes it easier to answer this.
Even when he rebelled against Carlisle he only killed the bad guys. And in doing that he was actually saving lives at the same as he was taking them. This in my opinion, makes what he did better. He could save the lives of young women because of his talent for reading minds, and he would never kill an innocent person. Does this make it right? No, not if you're talking about a normal person. But if you are a predator by nature, it makes it more right and more understandable.
After a while he started to loathe himself for what he did. Like ringswraith said, he didn't want to be a monster. And I believe that towards the end of his rebellious period, he saw a true monster with red eyes when he looked in the mirror. And he didn't want to be that kind of a person. And he asked for forgiveness from Carlisle, who happily welcomed him back. And the fact that Edward showed regret and the will to change is atonement enough for me. It would not be enough if it had been some human serial killer. But with taking Edward's nature into account, it's enough. Ever since he has done all he could to be a good person. And he has never gone back to who he was. And he had not tasted human blood for decades (except Bella's but that was to save her life - twice). He saves Bella's life on several occasions. He's a good son and brother to his family. He's a devoted father to Renesmee. All this is atonement for me.
The Dark Knight wrote: To me Edward is a bad guy. To those that give him the pass because he’s a vampire or he was dispensing justice I say this.The soldiers that fight our wars have to kill. They are called to duty to do things that are against our normal society standards. Are they to be excused too? You might say yes to this out of hand or respect for them and what they are called to do. But here’s the rub, each sin committed whether justified or not, whether ordered to do so or it just happens leaves a scare on your soul. Yes they are fighting the enemy and death happens, but does that mean it’s OK?
I do not blame the individual soldiers for what are committed during a war. It is the responsibility of their leaders (presidents etc), who send them there in the first place. They are out there risking their lives for their country, and to call them sinners I find to be disrespectful. Of course there are at times horrible actions committed in the name of war. Actions made by individual soldiers on a power trip. And those actions are sins, without a doubt and should be punished as such. But the soldiers who are out fighting against other soldiers in a war for their country, is not sinners in my opinion. They are following orders, and someone else is responsible for them being there in the first place. So if someone is to be called a sinner it is the persons who initiated the war.
So to conclude my statement: Edward should not still be held accountable for what he did by someone else than himself. You can never run from what you did in life. And the memories of the people he killed will always haunt him in a way. And that has been punishment enough. And in my opinion, Edward should be forgiven for what he did, simply because it is a natural desire for him to drink blood, and because he was able to stop when he saw the monster in himself. To me that proves great strength.