The Zwicky Transient Transient Facility (ZTF) performs a systematic neutrino follow-up program, searching for optical counterparts to high-energy neutrinos with dedicated Target-of-Opportunity (ToO) observations. Since first light in March 2018, ZTF has taken prompt observations for 24 high-quality neutrino alerts from the IceCube Neutrino Observatory, with a median latency of 12.2 hours from initial neutrino detection. From two of these campaigns, we have already reported tidal disruption event (TDE) AT2019dsg and likely TDE AT2019fdr as probable counterparts, suggesting that TDEs contribute >7.8% of the astrophysical neutrino flux. We here present the full results of our program through to December 2021. No additional candidate neutrino sources were identified by our program, allowing us to place the first constraints on the underlying optical luminosity function of astrophysical neutrino sources. Transients with optical absolutes magnitudes brighter that -21 can contribute no more than 87% of the total, while transients brighter than -22 can contribute no more than 58% of the total, neglecting the effect of extinction. These are the the first observational constraints on the neutrino emission of bright populations such as superluminous supernovae. None of the neutrinos were coincident with bright optical AGN flares comparable to that observed for TXS 0506+056/IC170922A, suggesting that most astrophysical neutrinos are not produced during such optical flares. We highlight the outlook for electromagnetic neutrino follow-up programs, including the expected potential for the Rubin Observatory.