Technically speaking, it’s all a matter of personal preference. Nearly all game engines have the ability to create the games you listed above. But, here’s a list of some of the engines best suited for what you want:
Godot is an open source game engine that anyone can modify. It can compile games for nearly all devices. It is coded in GDScript, a Python like programming language.
Unreal Engine is a free game engine created by Epic Games. It can also compile games for most devices. It uses C++ as the main programming language, and is commonly used for online games.
Unity is a game engine that is licensed in three different ways: Free, Plus, and Pro. The free version includes most, but not all features of the others, such as watermark removal. But, it is one of the most powerful and easy to use engines, that can create games for basically every device. It uses C# as the main language.
There are many other different game engines, but this is just a list of my preferred programs.