I think you should be using the WordPress loop
instead of a foreach, since you’re using WP_Query.
<?php if( $header_images->have_posts() ) { while( $header_images->have_posts() ) { $header_images->the_post(); ?>
<div class="header-image">
<?php echo get_the_post_thumbnail( $post->ID, 'thumbnail' ); ?>
</div>
<?php } } ?>