You could do that in basically any video editor that supports multiple layers and masks. Blender is an open source (3D) editor where you can do this with.
Most likely they are using one of/combination of: After Effects, Premiere Pro, DaVinci Resolve, iMovie and/or Final Cut Pro as those are the more standard tools in the industry.
I'm curious: Why would you use Blender for this? I consider it a 3-D modeling tool, not a video editor.
Then again, I just started using it. So far I'm pleasantly surprised at its UI. After using the detestable UI in GIMP (and the somewhat hokey-looking one in Audacity), I didn't expect much from open source.
> I'm curious: Why would you use Blender for this? I consider it a 3-D modeling tool, not a video editor.
Because it has a nice video editor in it, that's useful for lots of things.
Might be hard to get into if you never used Blender before. But if you've done 3D modelling in Blender, you'll be pleasantly surprised that your intuition of how to move, scale and generally edit stuff works the same in the video editor as in the rest of Blender.
I use Blender for video editng because I already know how to use it, I already have it installed on my computers, and because it has never been inadeqate. Blender doesn't have a ton of effects in the video editor itself, but you can replicate those effects in the 3D editor and in the node compositor.
It has a video editor that's actually quite good, and designed for fine-tuned output, as opposed to most free software available for video editing, which is either of low-quality or has very little output or compositing control.