Ok here is my suggestion. He's not respecting your personal space. Plain and simple. You say at times he's fine when you lead in front of him but when your facing him, and thats good, but when you turn around he's all over your heels. First of all yes leading from behind isn't necessary but I think its a good thing still to learn. If he walks all over you from leading behind make him back up, really hustle those feet and don't be nice about it. When you walk from the side since he is pushing more with his shoulder I would make his shoulder move by making him piviot away from you again really make him hustle, and I would teach that on both sides.
Remeber horses learn from the release of pressure so I would defintelly increase your pressure with whatever you choose. I would just continue using the riding crop and make him move away from me. I'm just not sure if steady pressure would work in this situation, but driving pressure is what you may need.
Good luck!