The Chacham Tzvi (Paragraph 49) gives 4 answers about whether punishment starts at 13 or 20 years old (brought in the Pardes Yosef here):
It was only before the giving of the Torah that punishment started at 20, after the giving of the Torah it starts at 13. (I believe this only answers why we say Sarah was free from sin at 100 as when she was 20. It does not address the Gemara or any others who say that Heavenly punishment starts at 20)
The Heavenly Court doesn't always punish for crimes committed under 20, and that's part of Yitzchok's "deal" with G-d, to ignore any sin committed before 20.
The Heavenly Court doesn't punish people in this world for doing something wrong when they are under 20. Once they go up to heaven, however, they are judged for everything done after 13 years old.
The Heavenly Court waits until one is 20 to see if they do Teshuva. Once the person reaches 20 without doing Teshuva, the person is punished for the sin he committed when younger.
The Pardes Yosef on Parshat Chayai Sarah (Chapter 23) gathers many different opinions about what it means "The Heavenly Court does not punish someone under 20 years old". It appears he includes most (if not all) of the opinions brought here (and more), as well as giving one of his own.
The Pardes Yosef himself (I think) points out that heavenly punishment is stricter than earthly punishment, as is brought in Baba Kamma (55B-56A). The Gemara there brings cases where the earthly Beit Din would not punish for actions (since they are too inconsequential), but the Heavenly Court will still extract punishment. When it comes to time, however, the Heavenly Court is more lenient, waiting until 20 to punish.
This is because due to the public nature of the punishment. When the earthly Beit Din punishes someone, it is for their own benefit, since they will learn not to do it again. Even when he is killed by Beit Din, other people learn from this, and refrain from sinning themselves. This is good for others, and good for the punished as well, since this merit helps his atonement process.
On the other hand, when a person is punished by the hands of G-d, it is too late for him to learn from his punishment, and therefore G-d waits till the person is 20 before holding him liable for his actions.
Furthermore, the Pardes Yosef continues, it says in Sefarim that when a person sins he causes a blemish on his soul, and Heavenly punishment wipes away these blemishes. A person under 20 has not yet achieved full intellectual maturity, and therefore the blemishes are not so great and do not yet require cleansing. (He brings a proof from our Sages that a person does not reached full intellectual maturity until 20, but I am unfamiliar with the statement and he does not bring a source, so I can't look it up.)
Here Rabbi Zweig brings a different explanation in a similar vein.