So, a couple things are going on here that muddy the waters.
First off, the bard is using smite spells. This is perfectly legal but also extremely powerful and annoying. (Why is a bard SIGNIFICANTLY better at smiting than a paladin?) I would disallow this as a DM, as a house rule. If you get rid of the smites, the bard's damage falls below the fighter's more significantly.
Well, mostly because the comparison was to see how well the bard could do at the job of hitting things with something sharp, and the smite spells are good for that. Generally, area of effect spells like Fireball are going to be a lot more effective, since you're dealing a bunch of damage to multiple targets all at the same time. Hunter's Mark from the Ranger's list is another good general buff for damage. Aura of Vitality is handy for healing 20d6 with a 3rd level slot. Swift Quiver lets the bard make 4 ranged bow attacks a round at level 10. The whole point of Magical Secrets is that it lets the bard steal the juicy stuff from other classes. The larger point is that releasing new spells increases the versatility and power of classes that use spells in a way that releasing new feats or subclasses doesn't, because there's a much larger opportunity cost for taking one feat instead of another when you only have 5-8 and preparing a different spell when you have 22.
Second, as much as it simplifies things to ignore magic items, it really SHOULD be taken into account that a level 20 fighter will get more benefit from them than any other character (except a monk with a magic monk weapon). Twice as much as a bard, in fact. So we don't even have to dip into house rules to fix this issue; just give everyone in the party a Flametongue weapon (+1 weapon, +1d6 fire damage on hit), and the fighter with his extra attacks will get a proportionally higher benefit from it. Likewise, AC bonuses are more powerful the higher your AC already is: if we assume the fighter has 19 AC and the bard has 17 AC, that means an enemy with +8 to hit needs an 11+ to hit the fighter and a 9+ to hit the bard (50% chance to hit vs. 60%). That means that giving everyone +2 armor will reduce the damage to the fighter by 20% and to the rogue by only 16.6%. So aside from the fact that this chart inexplicably ignores the impact of AC, if we assume that the fighter normally has even slightly better nonmagical AC, giving the entire party magic armor will still benefit the fighter more.
I actually do mention that the fighter gets heavy armor, both in the writeup for level 1 and on the chart. But that's a level one benefit, that can be gained either from a class dip or a feat. I don't think I would need to mention something like "yep, fighter still gets to wear heavy armor!". As for the magical items...I actually think that this is the design space that should be used to balance the classes. Fighters should not only benefit more from magic items, but those and other benefits should be a general assumption for them and not something for the more powerful classes. Unfortunately, the magic item guidelines we have right now assume that everyone gets the same amount of loot and there aren't any non-loot benefits heroes can acquire outside their class.
Third, the fighter is a champion who is apparently taking only three feat out of his eight ability score increase slots. Of those three, one is GWM (hard to argue with), the next is Durable, and the last is, um, Linguist. As I mentioned in a previous post, if the goal is for the fighter to "win" this chart, he should be taking stuff like Inspiring Leader, Ritual Caster, Healer, and Magic Adept. Possibly Alert and Observant too. (Plus plenty of other combat-related stuff, like Sentinel.) Assuming 3 short rests per day, Inspiring Leader alone would add 80 "health points" to the fighter's total at level 20, if we're following the rules and only counting the healing he does to himself. The +2 Con he takes instead only adds 20.
Inspiring Leader is nice, but its 13 charisma requirement makes it a bit difficult for the fighter to pick up. Much easier for the bard. The problem with Ritual Caster is that it gives you two 1st level rituals and that's it. Anything else is considered rather expensive treasure, and I wasn't use magic items for this writeup. Healer is good, so good that I think it's almost required for a party, since it basically gives everyone a stronger version of the fighter's Second Wind at the cost of half a gp per use. Magic Initiate doesn't really scale very well and I wouldn't say it's worth a feat slot. Alert and observant are handy too.
The reason for the choices were based on what the classes could take that the other couldn't. Bard doesn't naturally have proficiency in big weapons, so Great Weapon Master is something the Fighter gets that the Bard really doesn't. Durable is good because the fighter can more easily afford to have a high constitution due to being less MAD and has a higher hitdie. Linguist was just me being silly because at that point, it was over 3000 words long already.
While we're at it, if the goal is to find a non-magical warrior who can rival a bard's broad array of tricks and powers, why on Earth are we looking at a Champion fighter? A rogue or Battlemaster is just as nonmagical. In fact, given generous short rests, the Battlemaster will do MORE damage than the Champion, and also have lots of in-combat utility the Champion doesn't (much of it hard to quantify, granted). And a rogue will have better skills than the bard as well as some other great class abilities (Reliable Talent, Stroke of Luck).
The champion fighter is important because it's the iconic fighter, the one that's presented to us in the Basic Rules. It's the one that Mike Mearls is talking about way back in that Fighter Design Goals article when 5e was still being designed. In truth, the rogue might very well have been a better comparison, because both classes fill the niche of skill monkey. Since they both have expertise and a Lore bard actually has six skills to the rogues four, the bard has such flexible use of the Inspiration mechanic, and a huge range of spells that produce effects impossible to replicate through skills, I think the bard would come out ahead on pretty much every single metric.
Why do these possibilities not occur to the OP? Why is this board not flooded with complaints of "OMG RITUAL CASTER OP, FIGHTER STOLE MY UTILITY"? Because most people actually don't value such utility that highly. If I'm a fighter, I let the wizard deal with setting up Alarm spells and interpreting riddles and whatever; it's my job to hit stuff. You want to spend a bonus action every round healing some chumps or yourself? Enjoy, I'll be using MY bonus actions to hit stuff. (Or to protect allies or whatever.) If you are running a campaign that DOES focus more on non-combat encounters, AND you're not the kind of "old-school" role-player who enjoys contributing to those scenarios without mechanical support, AND you want to play a nonmagical character, then use some of the feats and subclasses I just mentioned to do so.
If it's a classes job to "hit stuff" as you say, and not really do anything else, then I think its fair to say that the class should be really, really, really good at hitting stuff. It shouldn't be the case that a class that does a dozen other things should be within striking distance of your ability to hit stuff, and it certainly shouldn't be the case that a shapeshifting druid or a handful of the wizard's skeletons manage to completely overshadow you.