CPT + CMB2: data not displaying for only first post in loop

get_the_ID() is returning the wrong ID inside the loop, so you are getting wrong information on every post. On the first post, get_the_ID() will return either false if it is an archive page or the page ID if it is a page. On post two, get_the_ID() will return the ID of post one, so you will get the post meta from post one on post two and so on.

The reason for all of this is, you are trying to get post info and the post ID before the $post global is set to the current post in the loop. Very simple and quick, the_post() sets the $post global to the current post in the loop, so anything done before the the_post() call will have the wrong info and not the info that you expect.

So, to solve your issue, the following lines

$label = get_post_meta( get_the_ID(), '_awc_label_name', true );
$date = get_post_meta( get_the_ID(), '_awc_release_date', true ); 

should be move to after the following line

$query->the_post();

Also, remember to reset postdata after the loop by adding wp_reset_postdata(); after your endwhile statement