The scipy curve_fit sigma parameter is not what astronomers think, and internally it is always normalized to a mean of 1.0 before computing the covariance. There is a way to rescale the covariance to get the actual parameter uncertainty estimates as shown here:
scipy/scipy#448