I'm thinking that he's leaving long because 1. He's been made anxious from his previous owner and possibly 2. He doesn't know how to properly use his body over the fence. To jump well, a horse must be able to get to the base of the fence, rock back on his haunches and use his back end to really round his body over the fence. By leaving long he's probably jumping a little flat, picking up his legs instead of rounding and basculing as well as he could. I would suggest 3 things:
1. Gymnastics! I know, my 'cure' for everything. :) But it's the best way to teach a horse to use his body well, and will force him to leave from the correct distance and use his body correctly. Setting up several bounces in a row in particular would be great for him.
2. Set up 1 fence and just circle over it. Over and over and over it. Leave him completely alone and let him just figure it out. The circle is great because it will teach him that staying on a rythym is the easiest. It's easy because it allows him to do the same thing over and over again and really think about what he's doing.
3. Set up 2 poles in a line about 55 or so feet apart. Canter over them in his normal canter and see how many strides you get inbetween. Then play around a little bit. See if you can extend and shorten his stride (but not his speed) in between. Let it be a game to see how many or how few strides you can get. Eventually you can set them up to be small crossbars and do the same exercise. It will teach him to be more flexible with his stride as he jumps.
Very important to remember, you find your pace in the corner! Leave him alone in front of the jump (unless he does not maintain his rythym, then you slow or speed up accordingly). With a horse like this I find it best to ride for the pace, not the distance. The distance will come. You'll also want to remember to be very careful with your body as you're jumping. Sounds like his previous owner maybe has taught him that jumping can be painful or scary and he needs a quiet rider who will be there with him but not hurt him.