“Why make Chakotay a lt. commander rather than a full commander?”
Even after all these years, I'm not convinced that they did.
I'll note upfront that I know his provisional rank insignia was that of Lt. Commander, and I know that it's common practice to refer to a Lt. Commander as simply "commander". Data, Worf, and Tuvok were regularly referred to as simply "Commander". I fully understand this. But the thing is that these other officers were introduced, or introduced themselves, in formal situations by their full rank on more than one occasion. When the plot called for their personnel files to appear on screen, their full ranks were displayed with their name as "Lt. Commander".
Chakotay was never, not even once, referred to out loud or in text as "Lieutenant Commander".
From a Doylist perspective, I'm of the mind that the writers intended for Chakotay to be a full Commander, the same rank as Riker or early-DS9 Sisko, but the costume department goofed and it was simply never corrected — because on the screens of the era, it didn't really matter because who's gonna look that closely at the guy's neck?
A possible Watsonian explanation is that while he was granted the rank of Lt. Commander provisionally (the rank he held prior to his resignation from Starfleet as well as the rank held by Janeway's original XO), he was also given the rank of Acting Commander... as a courtesy, maybe? Or maybe Starfleet regulations prevented Janeway from granting any provisional ranks higher than Lt. Commander because that's the rank her XO held. Compare this situation to Wesley Crusher, who was granted the rank of Acting Ensign but never wore a rank insignia because Starfleet never gave him one. So Janeway could formally grant Chakotay the rank (and the accompanying rank insignia) of Lieutenant Commander in the field, then found a loophole somewhere in the regulations that allowed him to introduce himself formally as Commander.
I don't recall the program's author being mentioned, much less it being attributed to Pike. 🤔