Yes, the culture needs to change, but gun laws can help.
For example, if all all guns required a license, and all guns were registered, it would not only reduce the number of guns getting into the wrong hands, but it would also discourage irresponsible or "casual" gun ownership.
A lot of public health researchers have suggested combating gun violence in the same way as smoking. With smoking, there is a public awareness campaign, there are laws, for example, against smoking in public areas, there are taxes, and then there is the fact that movies and TV have stopped portraying smoking as dangerous.
There isn't any quick or easy solution to gun violence, but the essential problem is that gun policy now is crafted by the gun lobby, which is run by crazy zealots like Wayne LaPierre who put survivalist fantasies ahead of public safety. If this were to change -- if the public health experts rather than the gun lobby were guiding gun policy -- then over time we would see rates of gun violence drop significantly.