By granting immunity to the telecoms, they are leaving the lines open, without consequence.
This way the telecoms will continue to supply info without the fear of being sued.
Suppose you run a publicly-traded telecommunications company and a government agent comes knocking. He asks for certain information he really has no authority to demand, and tells you that if you refuse he'll make your life miserable. If you want to take things to court, you'll win, but your shareholders will be out tens or hundreds of thousands of dollars. Whereas if you simply supply the information you can guarantee that your shareholders will be off the hook.
Given that your fiduciary duty is to your shareholders, rather than to the public at large, how could you justify going against the government agent in that scenario?