Custom post type category link redirecting to 404 page

Its because you are already registered the cpt as blog and set has_archive to true. That means, the url https://example.co/blog/ will act as the archive page for that CPT and URLs like this (https://example.co/blog/categoryname/) will be treated as a post in that CPT.

All you have to do is change the rewrite slug of the custom taxonomy ('rewrite' => array( 'slug' => 'blog' ),) to something else, then flush the rewrite rules (just hitting the save button in permalinks will do it) and it will work.