The fan being connected directly to the battery would explain it being on all the time. The fan should have its own plug that goes into a socket on the speedo - then it'll only be on when the speedo is on.
As for the switch being always on...did you buy the speedo new? The only time I've had that particular symptom was when I wired the speedo the wrong way round. That ends in instant death sadly.