Before dying, John tells Dean, if he can't save Sam, he'll have to kill him, should he become evil. The fourth season episode "On the Head of a Pin" reveals that the demon Alastair tortured John in Hell for over a century, with John refusing the demon's offer to stop if he himself would torture someone else.
So, there are basically two reasons, both closely related to his sons: His own efficiency, as they get him distracted, for he goes after a dangerous daemon (the yellow-eyed one), and thus worries about them getting killed. He is afraid to actually see them die, like he saw their mother die.