To my knowledge the soda card only covers soda. Also, consider that you will most likely be off the ship for the three or four port days. We figured you had to be drinking at least three sodas per day on average to make it pay. If you are only going to drink one or two a day during sea days, it is cheaper to pay by the glass.
There are ice/water dispensers in the buffet area. The bottled water on the ship was quite expensive--$3.50 sounds about right. We have found it much cheaper just to purchase bottled water in the ports when we need it.
Milk is available in the buffet area during breakfast. During the rest of the day you can still get milk in the buffet area by asking one of the employees and they will get it for you. We asked for milk all during the day and never had any trouble getting it.