404 on page 2 multisite

Every front end page request on a WordPress site produces a main query. The template that WordPress decides to load is based on the results of that main query (you can see the order that WordPress does these things by looking at the Action Reference page). Despite the fact that you never output the results of that query, it’s still run, and in the case of paginated archives, this is an issue if you’re trying to use that pagination for a different query.

The best case scenario is to modify the main query before it’s run via the pre_get_posts action, however, this won’t work for you because you’re querying network posts, which, as far as I know, the WP_Query class can’t do on its own.

The simplest solution to this is to make your landing page a static page instead of a posts archive. Create a new page under the Pages menu in admin, then visit Settings > Reading, and under Front page displays, select A static page, then choose that page from the dropdown menu. You’ll now be able to paginate that page without it throwing a 404, because the main query will always contain just that single page’s data and won’t be potentially empty.