You still need to supply dummy data for Y_obs, just do it like this:
'Y_obs': np.zeros_like(df20.Pct_Over_National_Average.values)
It just needs to be there to keep the shapes intact.
My guess is that all pm.Data() must be updated, otherwise PyMC assumes that it should use the previous observed data for that variable. Ergo, shape mismatch.