why is the current page title being output?

Simple answer – because you’re using query_posts(), which alters the main query. It almost always produces unintended results, as you’re finding out the hard way right now.

Generally, it’s best to call the sidebar using get_sidebar() instead of include (which you probably are, but it’s not clear), and I prefer to call it after the main loop has run so I can use a new WP_Query() instead. This will replace the current loop with completely fresh data, and would be my choice of solution. Replace query_posts($args) with $query = new WP_Query($args) and you should be good to go. Normally, I’d say get rid of your wp_reset_query() as well, but since you’re calling this in the header you have to leave it so it gives you the normal page data for the rest of the page. This will lead to some overhead, but if you have good caching you shouldn’t notice it at all.

Edit

Example “working” code:

<?php 
if (function_exists('dynamic_sidebar') && dynamic_sidebar('Sidebar Widget')) : else : ?>
  <div id="sidebar" class="newsletters">
    <h2>Newsletters</h2>
    <ul>
    <?php 
      $args = array ('post_type' => 'newsletters');
      $query = new WP_Query($args);
      while ( $query->have_posts() ) : $query->the_post();

        $pdf=get_field('pdf');
        echo "<li>";
        echo '<a href="'.$pdf.'">';
        the_title();
        echo "</a></li>";   

      endwhile; wp_reset_postdata(); ?>

    </ul>
</div><!--END sidebar -->
<?php endif; ?>