При нажатии кнопки снова запускается Page_Load, поэтому код, который добавляет флажки, запускается второй раз.
Добавьте проверку для Page.IsPostBack и добавляйте флажки, только если этоpostback.
If Not Page.IsPostBack Then
For Each image In imageArray
CheckBoxList1.Items.Add(image.Name)
Next
End If
(надеюсь, синтаксис правильный ... Не используется для VB)