The starter's solenoid or its worn brushes are the problem, IMHO.
Cold weather stresses things and so accentuates otherwise unnoticed
problems. The starter's brushes are carbon and simply wear with use and
yours have been used a lot.
A new starter will cure the problem, if you choose to install a new one
be sure its a Bosch remanufactured starter, not some unknown over the
counter unit. Remember, the old Bosch starter lasted all this time.