Apparently ListItems will not stretch to fill a space, but the Header item will.
To fix the problem you have to add the following to your ListView
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
Then, you can change the Grid.ColumnDefinitions back to
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
Once you do that, the items will be stretched to fit just as the header items are.
Final result image which looks correct[
^]