The problem is that you use wrong ACF function.
get_field_object
returns the settings of a specific field. Each field contains many settings such as a label, name and type. This function can be used to load these settings as an array along with the field’s value.
So get_field_object('icon')['ID'])
doesn’t return the ID of image attachment, but ID of that ACF field.
What you want to use is:
$var = get_children(array(
'exclude' => array(
get_post_thumbnail_id(),
get_field('icon')
)
));
If your field returns the ID of selected image, or
$image = get_field('icon');
$var = get_children(array(
'exclude' => array(
get_post_thumbnail_id(),
$image['ID']
)
));
if it returns an array.