I am not able to be exactly sure about your problem, maybe a live example may help. Also, do you have a custom post status “new” or its a typo?
but looking at the code, I see you have begun the table code outside the while loop, which is correct but ended it inside the loop. This might be the reason for only displaying 1 post. Please find the modified code.
$wpb_all_query = new WP_Query(array('post_type'=>'vendor_management', 'post_status'=>'new', 'posts_per_page'=>-1)); ?>
<?php if ( $wpb_all_query->have_posts() ) : ?>
<table class="responstable">
<thead>
<tr>
<th></th>
<th>Vendor Name</th>
</tr>
</thead>
<tbody>
<tr>
<?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?>
<td><input type="checkbox"/></td>
<td><a href="https://wordpress.stackexchange.com/questions/286382/<?php the_permalink(); ?>"><?php the_title(); ?></a></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
<!-- end of the loop -->
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
Let me know if this works.