In NSLs, you are not allowed to reveal the existence of the request. Removing the warrant canary reveals the existence of the NSL.
Sometimes courts also prohibit you from revealing that you gave away user account information to the police.
In theory, using the (incorrect) logic of the canary warrant, you could publish a list of all user IDs and say "The police never requested the user information for these IDs below:", but this seems very gimmicky in front of a judge.
At the end of the day, a company that is actually subjected to NSL wishes has very little reasons to remove a canary warrant.
1) They cannot be sued for lying in their canary warrant as this was a properly formed court request.
2) It is good marketing for them.
3) They risk significant criminal charges for no benefits.
They really have no incentive to do so.