If you specify multiple canonical tags, Google will ignore all the canonical tags.
Having multiple canonical tags would be a reason that Google would choose to ignore canonical tags. Google also chooses to ignore canonical tags in other cases where they are malformed:
- All the tags point to the home page
- The tags are implemented in the
<body> rather than the <head>
- The tags use relative rather than absolute links
- The canonical page does not appear to be a duplicate page.
Google only sees canonical tags as a "strong hint" that one page is your preferred page. When Google finds a canonical tag it often chooses to ignore it. Google now has the concepts of "user chosen canonical" and "Google chosen canonical" that it shows you in Google search console.
Google also seems to be ignoring canonical tags for other unknown reasons recently. I've seen cases where Google chooses to index http:// pages even when all the canonical point to the https:// versions. It seems to take Google as much as a year to "trust" the user chosen canonical version enough to index it over the version that Google already has indexed.