Ok I've finally found out what the issue is. In the java 8 jdk, the constructor to ManifestEntryVerifier was changed to take 2 arguments at some point, while it seems SecureJarHandler.java from the mod launcher expects the older one argument version of the constructor. I was using jdk8 333. I've switch to jdk8 211, sometime before this change was made, and now it works. I don't know at which release this change was so there're probably later jdks that can be used, I just went waayyyyy back just to get this stuff running.
I'm still pretty new to gradle so I don't know if there are gradle settings I can use to change the mod launcher or something, so any more info would be appreciated, but at least it runs for now.