First question:
Multiple FglAM(s) can be shown if OOP (out of process) agent packages or agents are deployed on that FglAM.
A check of Task Manager should indicate multiple FglAM processes running on a monitored host.
Using the Script Console, check to see if the FglamClientInstance: Last Updated field is current for all the entries of your FglAM of interest in the Script Console.
If any Last Updated entries are old, you can select the radio button for that entry, and then delete it via a groovy function in the Add Script section.
server.TopologyService.deleteObject(scope)
Reference the attached PDF doc which illustrates 2 FglAM entries for a FglAM host, which is due to the IntegrationAgents package deployed on that FglAM.
Second question:
The rule Disconnected Agent Manager Clients must be enabled as it checks to see if a known FglAM which has reported into the FMS is currently running.