Sounds like it's time to complain to the CTA
Ouch, that is unfortunate. I was going to say that I thought the first carrier determines the baggage fees of a multi-flight itinerary, so if AC didn't charge you for them, you should not have been charged subsequently.
The first carrier is responsible for charging the fees though, so if AC didn't charge them in YYC, NH shouldn't have charged them in YVR. It's the same as if AC
had charged excess baggage fees and then NH charged them again. That's been against the rules for a while