First of all let me start by saying that I'm not used to using Python. Another thing is that you might want to think about your title again, more specific, the "correctly" term: There seems to be no evidence supporting that you can 100% accurately predict stock returns. Perhaps, you could look up the Efficient Market Hypothesis, more precise how the semi-strong form relates to GARCH models.
I guess you could use this method you're describing, however as far as I can see without actually calculating it myself, when you take the mean at the end you effectively kills the randomness of it. That is, when you generate X different point forecasts, they should in theory be distributed with the assumed distribution in the innovations (which are IID(0,1)), scaled with the (same) volatility forecast and mean, and thus, when taking the mean in the end, you simply obtain a number close to the forecasted conditional mean.
I would simply use a random generated value from the distribution you're assuming in the GARCH, for example a standard normal distribution. Remember that you assume $e \sim IID(0,1)$. You could look into a one-step ahead rolling forecast scheme and perhaps just check to see how your rolling forecast compare with real observed returns.
Another thing you could do is look up parametric density forecasting, in which you practically forecasts the volatility and then scale the assumed distribution of the innovations with this volatility.
Addition of GARCH edit
The GARCH(1,1) process without mean looks like this:
$$ r_t = \sigma_t \epsilon_t, ~~~~~~ \sigma_t^2 = \omega + \alpha r_{t-1}^2 + \beta\sigma_{t-1}^2, $$
When you assume that the return follows a GARCH process, you simply say that the return is given by the conditional volatility ($\sigma_t$) times a randomly generated number ($\epsilon_t$) from your specified distribution. In case you want to include a mean you simply add it to $r_t$.
EMH edit
I recommend that you take a look at how the efficient market hypothesis, and related implications on the innovations, corresponds to GARCH modeling. A good buzzword is martingale difference. A good reference on this subject is Fan & Yao, 2017 The Elements of Financial Econometrics.