So I went back to check things from the beginning and I think I found the problem. Update the abc.nemo_action file and change the placeholder %p to be %P in uppercase:
[Nemo Action]
Active=true
Name=Conv to PNG
Comment=Exactly what it sounds like
Exec=<convert.py -f .png -o "%P" "%F">
Selection=all
Extensions=jpg;jpeg;png;avif;webp;bmp;tif;tiff;gif;
The difference is that lower case simply returns the folder name, but the script needs the full path i.e.: /home/zenzen/Pictures/Screenshots instead of simply Screenshots.
Also, just to be safe try launching Nemo from the terminal (simply type nemo). If there are any errors with the script or the action file, they should appear in the terminal output.
I must have change that placeholder by accident while I was testing it. It's been a few days and I'm not sure if I changed it before pasting it here. Anyway, apologies for the messiness.
Also, something very interesting to mention. I've posted elsewhere about trying to create a converter context tool for nemo, and two other people have created two other similar tools yesterday, and they work too. They created it just about the same time as you. Their code is substantially different, pros & cons. Check em out!
Nice! I hate it when I make this type of silly mistakes... Thanks for those links, I've looked at how they implemented the submenus and surprisingly is quite similar to Nautilus. Being a forked project, it makes sense. I wish this was better documented in the Nemo project documentation as it can be very powerful.
@zenzen, just wanted to let you know I am still using your tool in Nemo, it works great, I use both yours and "Lich-Corals", but your tool doesnt work for webp,jxl or heic.
here is how the other developers fixed this problem with their similar tool, see two links below:
I'm flattered that you continue to use my little script
Although you should probably use Lich-Corals' tool instead, as it's simply better in just about every way: support for more image formats (I didn't even know JXL existed), video files, integrates with Nemo and Nautilus, checks for updates automatically, and it seems the developer is quite active in addressing issues and bugs.
In any case, thank you for bringing this up to my attention, I'll try to add these changes. But please remember that I only wrote this script for myself and nowadays I use imagemagick anyway, so it's a little abandoned. I don't use Python all that much anymore so I will have to come back to refresh my memory before I implement this.