Hello.
I would guess the buzzer is sounding because the engine is overheating after running for a bit. After the engine's computer senses that the cooling water temperature is too high (via the thermosensor), it will stop producing spark in one of the cylinders (which is probably why you see power loss).
Can you see a strong cooling water exit stream while running at 900 rpm or more? If not, I would definitely get the rebuild kit for the water pump and start there. It's not expensive, and removing the lower unit only requires a socket wrench. You might find that your current impeller is damaged or the pump housing isn't sealing properly. I would also replace the thermostat, especially if this engine has been in salt water.
Another thing you can try is getting a temp gun and pointing it at the engine block (near the thermostat) when the buzzer sounds. That will confirm if it actually is overheating or not. If the temp goes higher than about 175F, it's overheating. If it's not overheating, then there might be an electrical issue or the buzzer is sounding because there is low oil pressure. But most of the time, it sounds because the engine is overheating. And the most common reasons that an engine overheats are a bad impeller, unsealed water pump housing, a stuck closed thermostat, or a leak/restriction in one of the cooling lines.