Archive posts on showing current page instead of archive

A template with a standard loop just outputs the contents of the main query, which is based on the requested URL. WordPress loads specific templates based on the results of the main query, but the template itself isn’t otherwise connected to what the main query contains, that all happens before the template is loaded.

If you want to show content in a page aside from what is generated by the main query, you have to query for it yourself. See WP_Query in Codex for everything you need to know about creating queries in WordPress.

$args = array(
    'posts_per_page' => -1
);
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
        echo '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
        echo '</ul>';
} else {
    // no posts found
}
/* Restore original Post Data */
wp_reset_postdata();