Pointing a canonical at a page that itself canonicals to a third URL creates a canonical chain, and chains are where consolidation quietly breaks. The assumption underneath the mistake is that canonicals pass along cleanly the way redirects do, A to B to C all resolving to C. They don’t. A canonical is a hint, not a forwarding instruction, and a hint that points at another hint hands Google a muddled signal rather than a clear destination.
Here is what breaks. Your page A says treat B as canonical, but B says treat C as canonical, so Google has to work out what you actually want represented, and a chained hint is weak enough that it may distrust the whole arrangement and resolve the cluster on its own. When it does that, the URL it settles on can be one you never intended, and the signals you meant to gather onto one page scatter instead of pooling. The consolidation you set the canonical up to achieve simply doesn’t happen, and you can burn crawl budget while Google works through the hops.
The fix is to make every canonical land on a final, self-canonical target, a page whose own canonical points at itself. Trace each canonical through to its endpoint, and where it lands on a page that canonicals onward, remove the middle hop and point the original straight at the page that should represent the group, so the signal arrives in one move instead of being handed down a chain.