Why yoghurt comes out different every time?
The explanation is easy, the correction isn't. 

Bacterial growth is an exponential process, but with all the environmental variables, you get even more trouble than a simple exponential. Tiny changes in the initial conditions can result in completely different end states. What you are seeing in the "sour" state is either too much bacterial activity for your taste, or activity from the wrong kind of bacteria - thermophilic cultures produce a more sour yogurt than mesophilic ones. 

Note that the low-sourness state is not obviously the preferable one, and your recipe may well have been geared towards producing the sour state. 

The way to getting to the exact result every time is to be more consistent in the initial conditions. A laboratory works with much higher precision than what you describe, not only in temperature but also in selecting the culture type and the culture density and reinoculating with pure culture. 

Your best chance here would be to try using lower temperatures and see if it gets better. If you can find a temperature in which you can get the creamy style yogurt consistently, great. If not, you might need to find other ways to ensure precision, such as using a commercial culture and not reusing your own.