Several reasons, many mentioned already:
- College system has people focusing on 15-10k early on. Compare to Japan where college runners are doing longer road races.
- The gap to being competitive in the marathon is huge, which is de-motivating for the guys who could have a shot. If I'm Grant Fisher I haven't seen an American run within 6 minutes of the world record in years, but i'm already within a second or two of a track medal on multiple occasions.
- No culture of marathon success in a long time. Success breeds success - which has helped the 15-10k guys be more competitive. E.g., Grant Fisher took a leap in crushing American Records and finishing just outside the medals, and then got beat by Klecker, Kincaid. etc. And now everyone thinks they could medal at the global stage and are pushing each other to be better. Not so for the marathon.
- The reasons above all lead to people not moving up early enough (And I agree that Klecker should absolutely try the marathon asap).
- There are probably some training- (and maybe nutrition-) related reasons, but i suspect the social/psychological factors are more important.