How to remove the bottom table headers (column names) in WP_List_Table?

You can override the WP_List_Table::display() method and remove the tfoot which contains the bottom table headers:

<tfoot>
<tr>
    <?php $this->print_column_headers( false ); ?>
</tr>
</tfoot>

Or you can add a specific class to the relevant admin page and use CSS to visually hide the bottom table headers:

.my-plugin-foo-page table.wp-list-table > tfoot {
    display: none;
}