Re: 2000 johnson 225 ho
The starter spins, but the pinion gear never rises up to engage the flywheel? Is that what you mean?
If so, the pinion shaft needs cleaning and lubing. On that starter, since it has the metal hood over that gear, if it were me, I would remove the starter to clean the shaft thoroughly. Lube it with a light machine oil, like 3 in one oil, not motor oil, and not WD40, and not grease.
It is remotely possible that the starter is not spinning fast enough to make the pinion rise up, but that is a very long shot.
The check engine light is triggered by the vacuum switch located on the incoming fuel line, near the fuel pump. You are correct that when disconnected, the light will turn off. But you need to figure out why the vacuum switch is triggering the light in the first place.
The vacuum switch is meant to detect an obstructed fuel feed line, which can be caused by many things: clogged anti siphon valve, bad fuel primer bulb, being the common ones. Make sure you do not have any restrictions.
The other case could be a bad vacuum switch. With engine off, key on, that light should not be on. If it is, then the switch is probably bad.
The vacuum switch is completely unrelated to the starter issue.