yt-dlp (a fork of youtube-dl) is the best option in my opinion, probably IDM just pulls its python package in but then doesn't get updated until IDM gets updated. There are free/open source GUI front ends for it too, I'm not familiar with them myself.
Sometimes it breaks when Youtube update something, and there is probably a battle over ads/3rd party addons for Youtube that may come to a head next year.
I've used it for a decade and a half at this point, based on the earliest stuff in my video archive folder.