I know that the crypto module is fairly new but from what I've seen it's quite powerful and could do what these two packages are able to. Can't this module just replace these two packages or am I missing something here?
It is possible to only use the ceypto module, but it provides a low-level API. To properly sign, verify, encrypt or decrypt JWTs, you would need to implement methods which will use the crypto API. Using libraries is just simpler, and if you use popular libraries you have more certainty that they implemented the standards in the right way. When choosing a library for handling JWTs it's best to try to find one with minimal dependencies, as they should, as you noticed, mainly use the crypto module.