Stooping criterion of Minuit.migrad when EDM is larger than tolerance

Are you still getting this error ?

VariableMetricBuilder Machine accuracy limits further improvement

If this is the case there is no much you can do apart from increasing the precision or being sure that you minimize the numerical error when computing the objective function. For example, when summing data points you should use a compensated summation, as the Kahan summation algorithm.
Otherwise you might need to increase also the tolerance.
I think if the Hessian returns a good status, it is positive defined, you can be confident that the minimum is correct. Since you have only two parameters, you might try also to scan around the minimum to see if you find a lower value.

I would however switch to float64 if you can. In our implementation of fitting on GPU that we are currently developing within ROOT we will use double precision.

Lorenzo