I was getting this last year. For reasons I cannot remember now, I concluded it was probably the cats that were bad as they were ~10 years old. After pricing an OEM Y pipe with the cats,
I went whole hog & bought the RIPP long tube headers. Not much, if any, price difference. The budget option would be an exhaust shop & high end aftermarket cats.
Disappointingly the codes persisted intermittently, but have since gone & not come back. I think either the ceramic coating or some sealant I used on the slightly damaged gaskets had contaminated either the sensors or cats, but has since burnt off. Traveling the motorway, which would reliably produce the codes
every time, no longer does. So it al looks good now.
Here's another thread for P0420 for more info:
Code p0420 cat efficency