Andrew:
Prescribing workouts is always a bit of hit or miss. Certain principles apply to all riders, but programs are highly individual.
First off, you are not riding enough hours. You are training about 6 hours or so without your races, and they are probably and hour or so giving you less than 8 hours a week. This is really an absolute minimum. Cycling is a sport where you get what you put into it. You will get more out of it if you put in more time.
You are not doing any endurance rides. This is a big mistake. You must have a lot more endurance in your legs for whatever distance you will be racing. Race 50 miles, you better have at least 80 miles in your legs. Race 100 miles and you better have at least 150 miles in your legs. You have 0 endurance miles in your legs right now.
Your body is like a battery. Long endurance rides are like putting your body on a charger overnight. You will develop a "strength reserve" that will let you attack over and over without getting tired. If all you ever did for endurance was to ride 50 miles easy, and you typically raced for 35 miles, you will probably get tired around 25-30 miles. If you did 80-90 miles on endurance rides, you would probably feel fresh at mile 35 in a race. You might even feel like doing another race the same day if time allowed.
Do one or two "long" rides per week. As a "4" I would say around 80 miles or so, the longer the better. Endurance is not cumulative. Riding 70 miles a day, 7 days a week will not allow you to ride 150 miles in one day. To do that, you need to ride 150 miles in one day.
You are doing good with the flat intervals. Work up to 30+ mph for 5 minutes as a goal. However, you are not doing any climbing at all, and you are having trouble attacking on the climbs. Climb, climb, climb. That's the only way to get better at climbing. Don't drop the flat intervals though. You need both.
Since you race and work, you need to always think about recovery. Consider dropping you turbo cadence on easy days from 100 rpm to 60-80 rpm. The idea is to pump blood through the legs, not focus on legspeed. Higher cadence on recovery days will work you legs harder. My max is 180 bpm. I usually do recovery rides at around 100 bpm and with slow cadence.
Your friday workout "10x10" is not at the correct intensity. 10-20 second efforts should be "all out" as hard as possible. Don't hold back or pace on anything under 20 seconds. Do some sprints from a standing start, others from a 15-20 mph roll. Go as hard as possible. 10 reps is too much also. Cut back to 3-5 or so, maybe 6-8 max. If you are doing the 10x10 for lactate tolerance training instead of sprinting, 10 seconds is way too short. 30-45-60 seconds is what you need for this. Also, doing them on friday is not the best day either.
You have to integrate different workouts on the same day. Always do the most intense workout first, ending with the lowest/slowest training.
Here is a schedule for you:
Mon: Off/easy day.
Tue: Speedwork. 30 minute warmup. 3x10-15 second max effort sprints, cadence 120+ rpm, speed well over 33 mph. Recover 10-20+ minutes. 2x1 minutes at 31-33 + mph, cadence 105-110 rpm. Recover 10-20 minutes. 2x3-5 minutes at 26-28+ mph, cadence 95-100 rpm. Some weeks, drop the 3-5 minute intervals and do a 20-30 minute TT effort at 23-25 mph instead. Keep riding easy (e.g., 39x21) when recovering between sets, keep heart rate low (~50-60%). Recovery between reps should be long also, at least 5 minutes. Ride with the wind if possible. On 3-5 minute efforts or 20-30 minute TT's try to get pr's to 90% or higher of max heart rate. Don't worry about heart rate on the others. 30 minute easy cooldown.
Wed: Hills. 30 minute warmup, then do 3-4 x1-2 miles, on a slope with a gradient you will be racing/attacking on. Hit the base from a slow roll, and attack/sprint as hard as you can and hold it for as long as you can. Blow up. Since you are on a climb, where are you going to go??? Keep riding at whatever pace you have to until you get some strength back. Attack again as hard as possible. Recover/attack until the climb is over. Do some attacks seated and others standing. Eventually, you will get faster and be able to attack the climbs several times without getting tired. Recover at least 10-20 minutes between climbs. The recovery periods are critically important to prevent excessive lactate buildup and muscle damage. Always keep the pedals turning slowly when recovering. The first few weeks, just ride up the hills at any pace with no attacks to get used to the program. Some weeks find a longer (10-40 km)climb and ride it anyway you feel like. 30 minute easy cooldown.
Thurs: Endurance day. Ride 80 miles easy over flat-rolling terrain. Don't push too hard, keep pr's around 65-80% of max heart rate. Eat and drink plenty on the ride.
Friday: Off/easy day.
Saturday: Warm up 10-20 minutes, and ride moderately for about 1.5 hours or so. Do a couple of 10-15 second sprints to loosen the legs. You can push hard for short periods, but the idea is to get ready for Sunday, not to have Saturday be a "training" day. Cool down 20 minutes. At the end of Saturday's ride, you should feel fresh and be hungry to tear up the race on Sunday.
Sunday: Race.
This is only a guide. Try it and see how it works for you. The first week or two you might be sore and tired. The first 3-4 weeks maybe consider not racing on Sunday to give you extra recovery and to get used to more miles and intensity. If the workouts have too many repetions, drop the number.
It's better to maintain intensity and cut down on the sets than to reduce the intensity and do more sets.
It is also very important to keep your cadence high on the short, intense efforts, although you should vary your cadence on just about everything. Climb/TT at 40-60 rpm (hard on the knees/lower back) for muscle strength and at 85-105 rpm for aerobic power.
Also, it's important not to do the same stuff week after week. Work on different skills. Identify your weaknesses and train them. Get more sleep, don't skip meals, and back off at the first signs of overtraining, like insomnia, disinclination to train, poor appetite, depression, etc. When in dought, always go for an easy ride. The idea behind the low number of intervals is to "dose" yourself with just enough to grow, but not enough to dig yourself in a hole. Without the proper recovery, you will have nothing.
Try different routines, and maybe go hard one week, easy the next. If you don't race on Sunday, add 1 or 2 20-30 minute sustained TT efforts over a 2-4 hour easy/moderate ride. Possibly take Sundays off the first 2-4 weeks also, since the endurance rides on Thursday will bump up your mileage a lot.
There is a very wide range of variability between riders. It takes time to figure out what works best for you. Again, recovery is what is most important. Often, it's not getting riders to train more that is hard; getting them to ride easy is!!!
If your performance drops or you find it difficult to get your head into the workouts, just go out for an easy ride with no structure and have fun.
Some days will be better than others. Don't beat up on yourself if you have a bad day. We are living creatures, not machines!!!
Good luck!!!