здесь ошибка .
// Передаём список настроек в контроллер.
ButtonSettingsControll controller = loader.getController();
controller.setDialogStage(dialogStage);
controller.setData(Data);
controller = new ButtonSettingsControll(Data);
здесь
ButtonSettingsControll controller = loader.getController();
получили ссылку на контроллер из лоадера.
, а здесь
controller = new ButtonSettingsControll(Data);
создали новый объект, не связанные с загруженным FXML
И еще. Когда вызывается конструктор контроллера элементы управления объявленные с аннотацией @FXML еще не созданы. Поэтому такой конструктор не имеет смысла. А лоадер вызывает конструктор по-умолчанию( тот который без параметров). Значит либо после получения ссылки из лоадера на контроллер Вы вызываете его метод setData и что угодно еще и заполняете элементы управления данными. Либо создаете контроллер и передаете ссылку на него в лоадер и затем вызываете метод контроллера, в котором заполняете свои элементы управления данными.