If you are trying to get the field from the current post in the loop then all you need to do is move that line to inside the loop
$args = array( 'posts_per_page' => 8 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$variable = get_field('link', $post->ID);