First of all, no nagging your horse! If you ask for a response, and he doesn't understand it, show him. If you ask and he doesn't respond,
get a response.
Neck reining is a combination of leg and rein. Reins control the neck and shoulders, legs control the haunches. You can teach a horse to turn on the forehand, and on the haunches, by neck reining and direct cues.
Keep your hands close to the withers, as if you were holding them in one hand. When you want to go left, move the right rein to the neck, and use your right leg. Don't drag it excessively across the neck, this will put pressure on the right side of the bit, which is not the direction we are going! When he doesn't move left, take your left hand, turn him left (fix him) and then continue on. Start at the walk until it's solid, move up to the trot and canter later.
How we train babies is how we train greenies--you keep your hands close to the withers, you turn them, and then you
let them go. They have to learn to stay straight
on their own. If you are always micromanaging them by direct reining to keep them straight, then they will never learn to do it themselves. Ride your horse forwards to ride him straight; you can slow down once he gets it.
They also call it 'staying inbetween the reins', which means when you move the reins to the right, the horse's shoulder move so that they are 'inbetween the reins', and they keep moving until you ask him to stop. When you straighten the reins and stop asking for the turn, the horse goes straight and stays straight, because straight keeps him between the reins. Make sense? It's a concept to keep in mind when you're training, so you know what the goal is.