I made a quick search about the postal codes database. The one distributed by the swiss post office isn't free and has some restrictive licence. I couldn't find anything else with a sufficient level of details.
There is a postal code dataset provided by the postal office, it does not include any lat/lng:
https://match.postmail.ch/match_zip I don't see any license for it.
There is another dataset with lat/lng provided by the national survey agency:
http://www.cadastre.ch/internet/cadastre/de/home/products/plz/data.html It has some kind of attribution license. "Der Datensatz darf frei verwendet werden. Bei kommerzieller Anwendung verlangen wir eine Quell-angabe «Amtliche Vermessung Schweiz / swisstopo»."
But the one you found (cadastre.ch) seems excellent! The french version insists on the free use of the data (red font in the source):
Le jeu de données peut être utilisé sans aucune restriction. En cas d'utilisation commerciale, nous exigeons une indication de source «Mensuration Officielle Suisse / swisstopo».
It should be sufficient to add a line in the data sources page on geonames (I guess)