My 8 year old step-son is still rather sensitive for his age, and sometimes takes being disciplined very hard. When he genuinely feels bad about something he's done wrong and we tell him off, he will sometimes "punish" himself by giving us his favourite toy, his latest dose of pocket money, or deciding not to go outside / to the next family outing because he "doesn't deserve it".
My response to this is always the same - I say
we have punished you for X by doing Y / have decided not to punish you, so it is dealt with. We decide what you don't deserve, and we haven't taken away Z so you keep it. I understand that you genuinely feel guilty about X, hopefully you will learn why you shouldn't do X in the future.
However his response is usually to insist to the point of dropping the item on the floor in front of me and running away to his room. Sometimes my response works but not all the time.
I understand this may come under normal behaviour but I wanted to know if my response here is the best I could be giving. I also have a (possibly unfounded) niggle that he is stepping on my toes as authority to punish is solely mine and my partner's.
How should I respond to a child attempting to punish themselves?
Edit: prompted by comments - "telling off" here means a lecture essentially - an explanation of what they did wrong, why it was wrong, how it made others feel, any consequences involved and what can be done to put it right.
We mostly use natural consequences as punishment, with occasional imposed ones such as grounding or taking away videogames, etc. We don't use corporal punishment.