So I think we've got your answer.
View attachment 314348
Your 10k suggests the following pacing structure. With 80% at 9:35 or slower. I write training plans for 5k, 10k, HM, or M (or anything in between). The common thread amongst the plans is the idea of 80% easy and 20% hard. While not advertised, many of the other traditional plans (Hansons, Galloway, Daniels, Higdon, Gaudette, Fitzgerald, etc.) follow a similar periodization of pacing (80/20). One of the only ones that doesn't is FIRST, but that has its own special characteristics that make up for it. When writing a plan regardless of distance that comes out around 80/20, my plans average weekly/monthly pace is very very close to the EB pace I schedule. So that means I would guess your average weekly pace should be around a 9:55-10:00 min/mile. But you're at a 9:12 min/mile. So I'd venture to guess you're training far too fast. Your average pace would be more indicative of appropriately paced training for someone at a 1:42 HM or a 46 min 10k.
So why can you succeed at the 10k and HM, but struggle with the M given this possible issue? Two reasons.
1) Those slower paces are paramount to eliciting the adaptations for a M. You can get away with the faster pacing structure on a 10k and HM because it doesn't have quite the same endurance demand that a M does. Primarily it comes down to Running Economy and the ability to maintain the Lactate Threshold at a set pace for a longer period of time. The worse off the RE, the faster the LT pace can shift and thus the "doom clock" gets started. Running slower improves RE. These slower paces also allow the body to actually adapt to the training. Instead of always being so focused on recovering from a stimulus, the body can instead adapt because of it.
2) Because it would seem you're training too quickly, then you carry more fatigue into your race events. Too much fatigue into a 10k or a HM, and you can survive it. Too much fatigue carried into a M, and it'll crush you real quick.
It's possible running an 11 min/mile is also hurting your racing experience, especially if that's not a pace your regularly train at. Different paces put different demands on the muscles, bones, feet, etc. Running at a pace that you haven't trained at for an extremely long duration is going to lead to fatigue to muscles that haven't been trained for that. I generally recommend trying to race a M somewhere between M pace and EB pace. If someone is doing several marathons in the course of a year (like 5), then running at a slower pace like EA then becomes a good option as well.
When I look at training, I look at durations. For endurance events, there are several windows of adaptations. A 60 min or less window, a 60-90 min window, and a 90-150 min window. The 60 min or less window is good for maintaining fatigue or recovering. A 60-90 min window is a good endurance booster. A 90-150 min window is a good running economy booster when the pacing is on target. Train too fast or for too long on some of these windows/pace and it shifts the adaptation/recovery response. You end up in the dreaded "Survive the training, instead of thriving because of it".