Why is launchd saying "service already loaded" but "launchctl list" doesn't show the service?

It's possibly because you grep'ed for a different file than you tried to load (hosts_unBlocksites_AM.plist vs. hosts_Blocksites_AM.plist), but also note that root has its own list of launch agents and when you run sudo launchctl list you will see root's list, which is different from launchctl list which will show yours.

So this should work (depending on what you're trying to do in your launch agent):

launchctl list | grep Blocksites
launchctl load ~/LaunchAgents/hosts_unBlocksites_AM.plist

If needed, run both as sudo (not just one of them).