Where to put predictions

To make predictions about the future for forecasts, Should the predicted model be specified in transformed parameter block or generated quantities? To generate predictive samples, what is the difference of specifying normal() in model block and normal_rng() in generated quantities? Are they both define same??

To make predictions you should use generated quantities. The normal_rng takes a draw from a normal distribution with parameters from your Stan model - kinda like how rnorm works in R. The normal in the model block is a specification of the model.