As was noted, it's not always a bad horn, but I'd say if you got 5 - 10 yrs out of it in satwater you did good.
Nonetheless, connect a digital VM to the horn wires where they connect to the ships wiring, you have to pull back monkey fur or whatever is over wires to gain access to connections near horn, they are close enough.
And you can use a 10 buck multimeter from Sears on sale in their Sunday fliers, don't need several hundred buck Flukes.
Keep battery charger or motor off, position meter where you can read digits, keep horn connected as before, so meter is in parallel with horn. Now hit horn button, hopefully it is not working right at that time, so I'd connect the VM to keep it up just in case have to do it over time.
Now read screen while pressing sw, what does it read?
A horn is substantial power but if the source is at 12 volt nominal with charger & motor off, voltage will stay above 11 V. If voltage drops too much you have a bad wiring joint / lug, sw, or very bad horn, not likely horn, so disconnect horn and connect a 12V flood lite or any motor or several car brake lite bulbs / headlamp, whatever you have and do the same, if the voltage stays up then it is not a bad horn and in the wiring back. I found a partially severed crimp lug at the sw where voltage dropped to 6 or 8 volts as I recall
So a big voltage drop was not allowing the horn enough voltage, but normal voltage with a very light load would occur, that's why a test load needs to be substantial.
I touched the lug and it was actually very warm, the fracture occurred because of vibration over time and the neck on the crimp terminal cracked nearly clear off. Horn was intermiitant, then new horn didn't work at all. WTF?
So there it was, new horn went in anyway.
If the voltage reads same or similar to source voltage (battery terminals at stern) with horn connected, get a new horn or fix yours.