ValueError: conflicting sizes for dimension 'chain': length 1 on the data but length 2 on coordinate 'chain'

You should get as many posterior predictive samples as posterior samples you have.

If this were not possible due to time or memory constraints, then you can generate samples for a subset of posterior samples as shown in the docs: pymc.sample_posterior_predictive — PyMC 0+untagged.345.g2bd0611.dirty documentation (example at the bottom)