Forgiving yourself is what you will naturally do when you accept and receive God’s forgiveness. When you are forgiven by Him, His forgiveness flows to you and gives you the strength you need to forgive yourself.
The reason why we don’t always forgive ourselves is because we fail to see that God loves us and cares for us and that He really wants to forgive us. And so we fail to truly repent of our sins—thus the guilt of our sins remains with us. Accordingly, because we are unable to trust the sacrifice of Christ for us, we feel the need to punish ourselves, to tell ourselves how dumb and stupid we are, to restrict ourselves from fellowship, and to wallow in our guilt. Some have tried to starve themselves, and to cut themselves; some viciously mutilate themselves. I think one of the more common ways people punish themselves is by trying to make themselves unworthy by committing sins, so that they will incur more guilt upon themselves, because the feeling of guilt is punishment. We also will try to bring up in our mind past sins, to make ourselves feel guiltier. I suppose there is no end to the different ways we try to punish ourselves—some ways we are quite conscious of, in others we are unconscious or half-conscious of. But in all the punishments we inflict on ourselves, it is all straight from the devil and from an evil heart.
But it is all unnecessary and so tragic. For Christ has already paid for our sins. He gave His own life and suffered the worst punishment possible for your sins and mine. There is no need for more punishment. In fact when you do punish yourself God grieves, because you are rejecting His precious gifts to you—the gifts of forgiveness and joy and peace. Stop punishing yourself today. Forgive yourself and enjoy His wonderful forgiveness and life—the life of peace that He has called you to.