I've commonly seen this trade war called "purely random", or the result of Trump holding a personal grudge against Canada. However, the most convincing argument I've seen (and I wish I could recall the source) is that Trump is simply playing to his base.
Blue collar MAGA workers have seen manufacturing jobs slowly bleed to other countries over the last few decades. Nevermind that the U.S. have moved up the value chain while this has gone on, or that the same thing has happened in Canada. It's not about logic. It's about pain and (perceived) revenge. Blue collar MAGA workers want to see other countries punished, regardless of whether they're punished along with them. That's why Trump goes out of his way to humiliate his allies even though it puts him at a disadvantage in negotiations. (If this trade war were purely economic, Carney would have an easier time backing down and giving into demands. As things stand, he has no choice but to dig in and fight.)
If you buy this, what MAGA wants is to punish anyone "not us". It's not about economic gain. It's not some well-reasoned desire to redress past grievances (Canada has lost jobs in the same way, and probably more to the U.S. than vice-versa). It's purely an emotional desire to inflict pain.
A more disturbing question is: "Why is Trump alienating independents to cater to a shrinking hardcore MAGA base?". He can't win elections this way. This does, however, maintain a fanatically loyal base that's willing to do unconscionable things for their leader.
___________
Disclosure: I'm Canadian, not Conservative.