Yep, you nailed it. Overheating is what makes it rubbery, 100%. You basically cooked the proteins too hard and they got tough. The sour taste is just from how sour the milk was to begin with, and sometimes if you cook it too hot it seems to taste even more sour, idk why.
My tried-and-true method is to use a double boiler. If you don't have one, just put your pot of milk inside a bigger pot with a few inches of water in it. Heat that water on low. The milk should get warm, but never hot. I test it with my finger—if I can hold my finger in it for a few seconds, it's about right. Once the whey (the watery stuff) looks yellowish-green and the curds have separated into a single mass, it's done. Turn off the heat.
Btw, after you strain it, you can give the curds a gentle rinse with cool water. That will wash away some of the extra sour whey and give you a milder tasting cheese. Good luck! :)