I do not think it's the volume that's the problem right now. Here is what I would do: first, slow down some of your runs. Not all of them, just some of them. Slow them down to 8:30 pace. Next, start slowly cutting back your mileage so that you're at about 35-40 mpw for the last week of the season (districts or whatever). Next, if you want to run fast, you have to take it EASY the day before - ie 5-7 miles at 8:00+ pace. If not less. You have to taper at least a tiny bit. That's not to say you should start doing it every week from now until the end of the season, but eventually that's what you're going to have to do. The last month of the season, back off a little for every race, and then super-peak for the last race.
You touched on the mental aspect which no one has really responded to, and I think it is HUGE. So much of running is mental. I honestly think that if you put the brain of a 10:20 3200 and put it in the body of a 9:00 3200 runner, this new person would most likely only run like 9:50. So much of it is just the willingness to accept the "pain." I put "pain" in quotes because I think the most important thing that ever happened to me running-wise is that I realized that running doesn't really hurt. Whenever someone talks about the "pain," laugh it off, because running doesn't hurt. It is mild discomfort at best. You're breathing hard - so what? It feels weird because it isn't what we're used to, but does it really HURT? No. Getting hit by a baseball bat hurts. Your legs burn when you run fast... is this really "pain" though, compared to breaking an ankle or the mental anguish of losing a loved one? No. So, quit thinking about running in terms of pain, because it isn't pain. Think of running in terms of pushing through where your body would normally stop. Work on relaxation - when you're in the race and the pain starts to come, acknowledge and DETATCH from the pain. Monitor your breathing - acknowledge that you're breathing hard, acknowledge that it doesn't really "hurt" (it just feels unnatural), and push through it. You will run much faster, I guarentee it, and probably be a lot less nervous for races and whatnot once you realize that you aren't preparing to hurt, youre just preparing to push.
Also, last bit of mental advice - it took me a few seasons to really figure out how to run a 3200 - a big thing you have to remember is that you don't have to come through the 1600 in 4:50 to run sub-10, despite what some people would have you believe. In fact, you could come through in 5:15 and still run sub-10. It's all about that last 800. Now, let's say you get your 1600 down to 4:40 and your 800 down to 2:10, which you most likely will need to if you want to break 10. You don't need to actually run those times of course, but you need the ability to run those times in order to break 10. So, you're running a 3200, and let's say you come through 6 laps in 7:35. Many people would give up and say "oh, I'm over pace, I can't finish it from here" - that's a bunch of BS. There is absolutely no reason why you can run 2:20 for the last 800 of a 3200 if you REALLY dig deep. You will have to push like a maniac, but it can happen. Last year, I needed to run a 65 last 400m in a 3200 to get my school record, and I ran a 64. 2:13 last 800 after coming through in 4:52 and gradually picking it up, I ran 9:32. Now, I'm not saying that's ideal, but I'm saying it CAN BE DONE, you just have to want it that bad, and when you come through in 7:35 don't you dare give up, you start pushing the pace like you never thought possible and who knows what'll happen, you might run 9:50.
Good luck.