Print the whole page?

First of all, your page templates will normally include everything needed to make up a page, i.e. including this structure:

<html>
    <head></head>
    <body></body>
</html>

which is not what you want over and over in your one-pager.

However if you’ve built your templates using the get_template_part() function (described quite well over here) you can reuse it for the listing.

Just figure out which template part it is you want to use. You could use the get_page_template() function (or the get_page_template_slug() or even something like this:

global $wp_query;
$template_name = get_post_meta( $wp_query->post->ID, '_wp_page_template', true );

which ever suits your needs) to identify which template is being used. Then you can use this information ^ to call the right get_template_part() for each loop.

^ You can do this by stripping it down to remove anything up until and including “https://wordpress.stackexchange.com/” and anything after and including “.” to get the actual descriptive name of the template. Or by just comparing the return value you get with the different alternatives you have. Depends on what your file structure looks like and what method you’re most comfortable with.