Thanks for your reply, I attached the gen_debug output
PM: I discovered that after restoring Energy Saver settings to Default, the indicator LED went off ( I had the Energy Saver set at Never to avoid wake issues.
No duplicate kexts and I can't say I know what is causing your issues with powering off, I have the same model and never had this issue. It does look like you have a USB Wireless receiver, and various USB devices are notorious for causing sleep/ wake issues. Have you tried unplugging that and seeing if it powers off correctly? See Bolded/ Italic area below.
PMSET DUMP :-
System-wide power settings:
Currently in use:
standby 1
Sleep On Power Button 1
womp 1
hibernatefile /var/vm/sleepimage
proximitywake 1
powernap 1
gpuswitch 2
networkoversleep 0
disksleep 10
standbydelayhigh 86400
sleep 0 (sleep prevented by AddressBookSourceSync)
hibernatemode 3
ttyskeepawake 1
displaysleep 0
tcpkeepalive 1
highstandbythreshold 50
standbydelaylow 86400
END DUMP FOR PMSET
PMSET ASSERTIONS DUMP :-
2020-02-06 19:33:47 +0100
Assertion status system-wide:
BackgroundTask 0
ApplePushServiceTask 0
UserIsActive 1
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
ExternalMedia 0
PreventUserIdleSystemSleep 1
NetworkClientActive 0
Listed by owning process:
pid 262(mds_stores): [0x00000068000b80f8] 00:00:02 BackgroundTask named: "com.apple.metadata.mds_stores.power"
pid 702(AddressBookSourceSync): [0x00000043000180bf] 00:00:38 PreventUserIdleSystemSleep named: "Address Book Source Sync"
Timeout will fire in 1761 secs Action=TimeoutActionTurnOff
pid 64(mds): [0x00000007000b8002] 00:01:39 BackgroundTask named: "com.apple.metadata.mds.power"
pid 95(hidd): [0x0000001900098046] 00:00:16 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4294968206.3"
Kernel Assertions: 0x104=USB,MAGICWAKE
id=500 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14400000 owner=Wireless Receiver
id=501 level=255 0x100=MAGICWAKE mod=01/01/1970, 01:00 description=en0 owner=en0
Idle sleep preventers: IODisplayWrangler
END DUMP FOR PMSET ASSERTIONS.
DUMP FOR TRIM STATUS :-
TRIM Support: No
TRIM Support: No
END DUMP FOR TRIM STATUS.