Yes obviously the last item in the enumeration will be set as SelectedValue because that's what you have coded.
If you are trying to select all checkboxes under the CheckBoxList, then try the below line of code in your foreach loop:
CheckBxPayDetails.Items.Add(new ListItem() { Text = item, Selected = true });