Because of two things. 1) Everyone is Washington believes that the NRA is very powerful, contrary to the actual facts. Conventional Wisdom and all that. 2) They are effective at mobilizing their members and creating the perception of a bigger astro turf moment out there than there really is. After Sandy Hook, polling showed that 90% of NRA members supporting expanding back ground checks. Yet they created the perception that most of those people were against it. Through foghorns and astro turfing.
Another reason is, and this is harder to combat, is they have successfully made gun rights a core GOP belief. Its a defining issue. Thus it colors every campaign, from the local level to the national level…if you are for gun control…you are blue; if you are for gun rights…you are red. So if a republican were to say, speak up for reasonable gun control laws, the NRA doesn’t necessarily have to go after him, rest of the GOP apparatus will do that job for them.