A partial answer:
On the AC website, I can see itineraries priced using Z out Z back if you fly AC295/AC29 out and AC30/AC296 back. This accords with the ITA screenshot you've posted.
If I price AC295/AC29 out and AC30/AC292 back, ITA returns Z out D back, matching the AC website.
What I don't know is why EF will show Z class available on AC30/AC292 but AC will not book it. As it doesn't seem to be a POS problem (I've tried a few), then my next guess (looking at the numbers) would be that it might be some sort of DIF issue. ITA doesn't always handle DIFs in the way that the airline will sell them.