My list has a drop down Site column. In the view you can see that most of the items has a value for this column. Even when you go to display item form you can see that the field has right value. However when I go to Edit Item, the value is gone and the field is empty.
I have seen this happen before (when a programmer without SharePoint knowledge 'fixed' a problem with imported/pasted data and emptied/deleted the existing definition of DropDown values
The underlying database stores anything that is written to it, so modern JSOM code can write values to a 'DropDown' field without checking those values actually match with the specified DropDown.
In other words, a DropDown field is only a DropDown field because the UI presents it as a DropDown, to the database it is just a textstring.
In SharePoint List Settings Check the Field/Column definition for this DropDown and see if it has all values.
One way to reconfigure is to edit the List in DataSheet View (or open in Excel) and select/copy/paste the values back into the Field/Column definition