Jeddah, western horses are trained differently--ie, to pick up the lope when flexed to the outside. Why does it work?
Because picking up the right lead has to do with two things--shoulder control, and more importantly, haunch control. When you flex a horse to the outside, it forces their hind quarters to swing in (it's like cheating at a 'haunches in'.). With their hind quarters swung inside, it forces them to step more and 'deeper' with their outside rear leg... which is the beginning of your correct lead. It's pretty hard for a horse to pick up the WRONG lead in this position, although it can be done.
I think this is part of your problem with your horse not knowing which lead to pick up on a straight line: -If I'm doing a circle I turn her head in the direction of the circle, but if I'm not then I turn her head to the rail to get her shoulder out front. Your cue is not consistent. Your mare doesn't understand the difference between being on a circle and being on the rail, or why the cues are different. You'll get the leads 90% of the time if your mare is athletic (Because she's listening to where you put her body, like described above), but when you ask for them on a straight away with no rail, you'll get them 50% of the time, because she'll be guessing. Get me?
So first off, you need to pick a cue and stick with it! With my western horse, I tuck his nose to the inside ALWAYS, but keep him on the rail, circle, etc. Just a slight bend in his neck. Then I cue with my outside leg, make him do a CORRECT haunches in (haunches into the inside, head bent to the inside, shoulders straight), and kiss for the lope. He is not allowed to go until I kiss. The haunches in sets you up for flying changes later on, and right now it pretty much guarantees you'll get the lead every time--AND it can be done on straight aways (I don't NEED to do a haunches in with my gelding, but if I do I will 100% get the lead.) But, either way, pick a cue, and stick with it no matter if you are circling, or on the rail.
Secondly, do NOT practice leads by pointing your mare onto a circle--and if you do, only do it a few times. If every time you ask for the right lead you make a circle to the right at the same time, your horse will learn to drop its shoulder. If you've ever ridden a horse that does this, that is why! It dives into a turn because that's how it was taught. Teach your horse the difference between right and left leads by performing a figure eight--but make sure that your center line is STRAIGHT! So, for example, you ask for the right lead, canter straight for five strides, then complete your right circle. Break her down to a trot, still going straight, ask for the left lead, go straight for five strides, then make your left circle. This will keep her shoulders up, and allow her to understand her leads. Right now, outside leg just means 'canter'--not pick up a specific lead.
Try not to get frustrated with her. Horses don't do the wrong thing on purpose. They do it because we haven't taught them the 'right' thing well enough!
To slow her down, you need to make sure you're doing your circles correctly. You mention that she spins, so I think this one will be easy for you to teach her.
For a western pleasure horse, you want to make THEM want to go slow--you can't always check a WP horse in the ring. So to establish a slow lope, try this: When you ask your mare to canter, the moment she starts to go too fast, take your outside rein and hold her head pretty much straight, but ask her to 'spin' as you make a small, tight circle. IF you let her lead with her head (turn her head to the inside of the circle), she can collapse the shoulder and then end up going FASTER. So you have to imagine you're 'spinning' at the canter--you want her shoulders to move, just like a turn on the haunches. It's kind of like a canter pirouette in dressage, only not so tight! lol This forces her to transfer the weight to her haunches and you should feel a lot of 'lift' to the front end as she pops up to move those shoulders at the canter. And she WILL slow down! :)
The MOMENT you feel her slow down, release your reins (lots of slack, so she learns to carry herself!) and allow her to canter out of the circle immediately (the faster you reward her, the harder she will try). Reward any attempt--she doesn't have the muscle yet to carry you like a western pleasure star, so help her out and reward the smallest tries.
As you take her out of the circle, if she speeds up, do the same thing!
Once you can make several strides at your new 'slow' speed, teach her haunches in at the canter (also called 'canting' in the AQHA world). This helps her build muscle, but you shouldn't show this way. Teach her leg yields at the canter, and counter canter--all will help her build muscle to go slower. And remember, if you pull back on the reins to 'slow her down', bump her gently with your calves at the same time--if you just pull, she will go down on the forehand. Bump to tell her to work correctly--you can't go slow without proper, collected energy!
Once she is understanding she has a 'slow' gear, then you can teach her to stay in it. You ask her to lope, and when she steps into a faster gait because she stopped paying attention or something, you pull her nose to the inside rail and make her stop (quickly) and then make her do a turn on the forehand (which she'll need to know how to do before she can do haunches in!), and canter off in the other direction. This teaches her that if she wants to just canter along without having to stop hard and swing her hindquarters around, she has to do it right! This also gives you a nice tool at shows--if she picks up speed in a class, all you'll have to do is wiggle that outside rein and she'll slow herself down so she doesn't have to stop and turn! (Dressage riders use this as well as WP trainers!) Remember, though--when you stop and turn her, do it briskly (demand energy), but don't EVER make her feel like she is being punished. If you do punish her, when you go to pick up that outside rein she will only get scared and rush and not trust you an ounce. Remember you are a TRAINER, not someone screaming at her. Show her how, maybe a thousand times, and she will love and respect you for it. :)
I think that's all I've got for now... if you need help teaching her haunches in/forehand turns/leg yields etc, let me know, as well as any other questions. Some of this may not make sense... I just got out of work and I'm exhausted, lol! If you need me to clarify anything/get videos of me and my gelding, I will try. :)