you need to divide by standard deviation, and, second, if your data is two-sided (as plot suggests), you need to allow 2.5% of misses on each side of Gaussian, that is:
ss.t.ppf(0.975, data_df)/np.sqrt(data_df)
Since you miss 2.5% on both sides, you get total 5% miss.