Starting and Temp light

Hi I am having couple issues, the last time I went riding in the middle of the trip when I went to start my 2002 660 Grizzly the starter motor would spool up but would not turn the motor over (just hear it spinning) I was able to use the pull cord to start the motor and get back home. Now at home if I keep pressing the start button after a while the starter will turn the motor over and start the engine? Do I need a new starter or a one way gear. If it is just a one way gear how hard is it to replace?

Also now after the engine is running the temp light is on even when I first start it up so it is not hot yet to make the light come on. I know they are not related I think but thought I would mention it.

Any help would be great.