ZeroSSL left an uncanny impression on me when for some reason acme.sh developers made them default instead of Let's Encrypt. This prompted me to switch to a different client (just in case of further worsening of Let's Encrypt support by acme.sh).
Which client did you end up on? The list is somewhat overwhelming.
I too am moving away from acme.sh for the same reason. Dehydrated looks nice but I started using goacme.
https://github.com/go-acme/lego
I wasn't set on only bash though.