Pagination not working (page/2 retunring 404 page)

query_posts should never be used. Right now you are getting pagination urls that are relevent to whatever you feed to the query_posts but they lack the url of the page.

In general, regardless of the query_posts issue, pagination in internal loops should use pagination parameters which are different than those used by wordpress core, or in other words, you need to construct the pagination urls yourself, and depending on whether you want the pretty url, might need to add rewrite rulr for it. You might get lucky and be ble to use one of the core paging parameters, but that is hacky (although several answers here recommend doing that, so maybe success rate are better than I think).

What you really should do, as you basically create a new type of archive pages, is to add a rewrite rule for those types of urls, and use the pre_get_posts filter to properly populate the loop, and template_redirect to intercept such pages to use some template of your own. This is the cleanest way, but not necessarily the easiest one 🙁