Same base for category and post

  • Change Category base to . (dot). Nobody knows this trick will work in the future, but there is no easy way to remove /category/ from the URL. So, it’s better to google for a plugin (here is one of them). Yoast’s SEO plugin also is able do the same.

  • Set Permalink structure to /blog/%category%/%postname%/.

Then:

the_posts_pagination();

This function does not require any arguments in your case.

If you really want to use paginate_links(), use the right format argument value because pretty permalinks were already set: page/%#%/ rather than ?paged=%#%:

echo paginate_links( array('format' => 'page/%#%/') );

See Pagination functions for more.