With lat="37.373636" lng="-121.972146", or lat="37.372783" lng="-121.974549", the zip code should be 95051. But the returned code was 95120 before the change, and is 95054 now.
Please also correct this.
First I tried updating the zip area centroids with the yahoo geocoder, but the result was exactly the same.
I have then swithed to the zip code area shapes and the result is now what you are expecting. The top result for the reverse geocoding is now based on the zip code area boundaries and the further results with the distance in km are based on the area centroids. (data from US census)
Let me know if this serves your needs and if there is anything else we can do for you.