To begin with, to give the dog a good idea of the heel position prior to teaching the dog how to get to that position, you can ask for a sit, move yourself into position, and ask for focus before releasing and rewarding. This teaches him that sitting straight and close to your left side is a good place to be.
Teaching the "around the back" finish is easy to do with luring, using food, your hand, or a target stick to move the dog around. You can also help to guide them with a leash. Teaching the dog to go behind you into heel position typically results in a straighter finish than a left-finish. One way to teach this is to start with the food in your right hand, and switch it to your left hand behind your back, with the dog following the food. Once in the correct position, lift the hand to get a sit. At first, the dog will probably not be entirely straight, but this is ok as long as you are getting good focus. Gradually expect the sit to be straighter and straighter before rewarding. This is one exercise where I use a non-reward marker. If the dog has just performed a pretty straight heel, and the next time, he goes too far in front, I will shake my head, and say "uh-uh, heel". The dog then tries again. Make sure the dog is able to get a reward in 8 out of 10 tries, ensure that your definition of how close to ideal he needs to be to get a reward is achievable by the dog. If your criteria is too high, your dog will get frustrated and may give up trying.
Left finishes have become very popular in schutzhund particularly with drivy dogs who leap in the air and turn to finish. You can also teach this with luring and / or with brickwork. Some people use the left hand to lure and maneuver the dog into position by teaching the dog to push into the hand. We have used luring with the right hand moved directly above the dog's head to lure them into position. then we move from food to the toy under the armpit. The key to remember is lots of repetitions and only reward when the dog is in the correct position.