I have seen a major website have more than 2 canonical tags on certain pages.
Here's the page URL:
http://www.example.com/en_GB/shop/details.cfm?R=PRODUCT23:en_GB
Here's the first canonical tag, in the <head>:
<link href="http://www.example.com/category/en_GB/shop/details.cfm?R=PRODUCT23:en_GB" rel="canonical"/>
It adds the /category/ directory and the pages design looks different (colors are branded toward that category) but has the same content.
And lower down, still in the <body>, is the second canonical tag:
<link rel="canonical" href="http://www.example.com/en_US/shop/details.cfm" />
Instead of the product page, this points to the general parent category of the US shop (instead of the UK one).
This only happens on a few of their hundreds of pages, which are typically product pages. Google reccomends putting the canonical in the <head>, because Matt Cutts explains that it can be abused and injected in the <body> maliciously.
I assumed it was a mistake/bug of the CMS, since by the definition itself, there can be only one canon[ical].
But is there a valid reason for doing so?