Pagenav Not appearing on custom Template

Your navigation function seems to take data from main query (global $wp_query) variable.

However what you have on custom page is a completely separate query (new WP_Query()), which doesn’t modify main one (as it shouldn’t).

The best way would probably be to modify your pagination function to optionally accept custom query object as argument to be used instead of main one.