Because they have a lot of guns, but no ammo. The majority of the guns are militia issued weapons. Most men between 20-30 years old are conscripted into the militia, and thus have a firearm in their house. Before 2007, limited ammunition was issued with these guns in sealed cans which were periodically inspected to make sure the seals were not broken. Since 2007, militia issued ammunition is no longer allowed to be stored with the guns.
However, ammunition can be bought privately at shooting ranges, however, such ammunition typically has to be used at the range.
Also, unlike the US, all guns have to be registered, and there are background checks for purchases of all weapons.
Finally, Switzerland's gun homicide rate isn't as low as you'd think. They have 3-10 times as many gun homicides as other nearby European countries (France, Germany, Netherlands, etc). They're just very low compared with the US.