how to fix gap in stone front steps
It looks like time and weather have washed out the soil under the original steps. It is hard to tell if those stones were laid on a substantial foundation, or if the whole thing was just laid down on soil.

The cheap/dirty/quick way would be to shovel and pack dirt up into the hollow space under the step, then level the area in front and lay down one or more stones. Finish by "pointing" mortar at the seam between the riser stones and the new flat step stone(s) you just placed. This method will likely result in similar failure in a couple seasons.

Another option would be to pull out all that debris under the step and pack concrete up under there, then finish as directed above. This should last a bit longer, because the concrete will add strength and resist "wash out" by rain and snow.

The best long-term fix would be to tear out the old step entirely, form and pour a proper concrete step and landing, than bond new stones to the concrete with mortar and finish by grouting properly.