Для начала, вы не хотите связывать каждого человека в списке со списком, в противном случае у вас есть только один элемент в списке, вы просто хотите связать весь список, поэтому удалите цикл , А также вы можете объединить объявление списка и установку в одну строку, чтобы получить это (вы могли бы даже пропустить использование List, но я оставил его для удобства чтения:
List<person>op = DAL_O.per();
comboBox1.DataSource = op;
comboBox1.DisplayMember = "Name_person";
comboBox1.ValueMember = "id_person";
А что касается получения выбранного текстового значения, я бы использовал
comboBox1.Text
или ( согласно примеру MSDN )
comboBox1.SelectedItem.ToString()