My DD is younger than your son, but maybe this will give you ideas. She will suddenly come up with a pain when she's in trouble. I started treating her like she really did have pain (oh, my tummy hurts! Well, then you have soup for dinner, no dessert and have to lay down and not play).
I would tell him, "I don't hate you, but I don't like your behavior. Whether or not you admit it, I saw you push your brother and the consequence for that is x and the consequence for lying about it is y." And then just go forward rather than weedling him about an apology that he won't give.
I've also reminded DD about the boy who cried wolf. I do want to know her aches and pains, but if she is ALWAYS saying she's in pain, I have no idea what is real. I reminded her to use her words. Is it "my tummy hurts" or "I'm upset that I have to turn the TV off"? "I'm angry/sad/disappointed"? I don't believe you because you're lying when you say you are pained and you aren't.
We also went through this with SS when he was 10-12ish. Every other Monday he'd be "sick". Finally DH got stern with him and said that this "sick" was a waste of DH's time and money and that SS would owe him allowance if DH took him to the dr. again and it wasn't real. The real problem was that it was a way to get attention, especially after visits with his mom. If he was sick, he got to stay another day or got TLC. So we had to get to the root of the problem vs just treating the symptom. So while your son should not lie, what is the root? Is it that he has a problem with his brother? That he's being bullied at school, or what?