This kind of videos are a basic Motion Graphics Video.
Mainly done in After Effects, which is a "Video Composite" program.
A free option is HitFilm Express.
The also can be done in Blender (free) (or any payed 3D program) using the correct materials (usually a self iluminated one without making it a lightsource)
They also can be done in Flash or Adobe animate. But in that case you might not have the motion blur. (But you can fake it)
A Flash like program is Synfig Studio (free)
And you also can use a 2D animation program like Anime Studio.
And for simpe things, that can be rendered directly on a web page there is Express Animate.
The point of all this programs is that use an "In Between" logic, this is that you define an initial place, size and rotation, and then you define a second point in time with a diferent place, size and rotation.