I'm thinking it's the final line that's causing the problem: 'blog/([^/]+)(/[0-9]+)?/?$' => 'index.php?name=$matches[1]&page=$matches[2]'

I tried changing &page to &paged, but no effect.

If any rewrite rule experts could help me out I'd appreciate it.

<strong>Update:</strong>

I need to add an extra clarification here - the reason I didn't use /blog/ in the permalinks page was because we need one blog category 'marketplace' to NOT have the /blog/ prepended in the URL.

So, if I add /blog/%postname%/ to the permalinks page all works as we'd like, except for the 'marketplace' category - so is there a rewrite rule I can use to REMOVE the /blog/ from posts in the 'marketplace' category?

that pagination error happens very often because you have another thing which ends up having the same permalink, and so when you load page/2/ it actually looks for another page..

this could happen by instance if you have a post type which has slug "blog", or has a post_type rewrite slug set as "blog".
so when you try to access this linkyour-site/blog/page/2/
it's actually searching for a post called page/2/ within the post_type "blog"

it could also happen if you have a category with slug "blog" and in your settings the categories doesn't have a base slug (which is normally /category/ ). so when you try to access the above link, it is actually looking for the page 2 of the archive for the term "blog" of the category (or any other taxonomy which doesn't have a base-name, and has a term called "blog")

It seems my original issue was the one you mentioned above where it wasn't finding page 2 because of the rewrite rules adding /blog/ into the URL. But I've switched over to your suggestion above adding /blog/%postname%/ to the permalinks screen and this works except for the issue I mentioned in my edit - is it possible to remove /blog/ from a single category using rewrite rules?