But let's forget about that for a moment. He survives the Dementor attack because SOMEONE (he doesn't know who) saves him. He has free will, right? So he can choose to go back or not to go back in time to save Sirius and Buckbeak. But wait a minute -- the person who saved him was actually his future self! So it is INEVITABLE -- PREDESTINED -- whatever you want to call it -- that he has to go back in time. There is no free will in this instance.
You see the problem. He saves himself in the past because he has already done it. It is a circular sort of logic that seems to require an external agent -- destiny or whatever.
And what if he doesn't go back? Does history rewrite itself so that the Dementors drained his soul? (Hey, that's one Horcrux down!) Or perhaps it rewrites itself so that somebody else saved him? Or does the entire world fall into chaos because it is unable to resolve the paradox?