The model and the trace looks fine to me. Is there any warning during sampling?
If not, I would first plot the y_true with the observed y and check if the fitting is good (You can also do sample_ppc for that). And then I would compute the mean of a in model2 and compare it with the estimation of a0 in model1; similarly for b and compare it with b0. The two should be quite similar to make sense.