See this post Ordered Beta Regression model: is a custom posterior predictive check plot necessary? for a discussion of better posterior predictive check plots. I prefer a histogram at the very least, though a combination of both is a good idea.
I have not personally seen those odd spikes in the density pp plots before for beta models. Usually they look pretty smooth, similar to the plots in the post that I link. I think this may be due to the small amount of data between zero and one that the model has to use, so occasionally you get predictions that are quite off, but I am not sure.
Using the default of 10 draws, and your example data and model code that you post, here is the density plot:
And here is a histogram:
It seems like the zero and ones seem to be captured pretty well (although the plots in the post that I link would show this better), but the beta part of the model struggles a little. I think this may be because you only have 16 rows of data that are between 0.1 and 0.9. Everything else is either a 0, a 1, or very close to 0 or 1. That would be my guess.