why the mesh moves from its position with curve modifier
You can solve this problem by following the steps:

Set the origin of the curve and the stairs to the geometry
Move the stairs downward on the x-axis to where the arrow is
Rotate it on the y-axis to be parallel to the arrow (Do it in the front orthographic view
move it along the x and the z axis repeatedly to find the best fit.
Which will give you this:

For getting a much more refined curve I added in another nurbs curve and did a lot of tweaking. Added in plane.Modeled it into a stair added in an array modifier and a curve modifier.And finally this is what I got:
Here is the .blend file
https://drive.google.com/file/d/1nvo0X5z172oPs1BdGVXNDQF2nUX20u_j/view?usp=sharing