Оба варианта верны. Разница между ними в том, что родительный падеж передает значение «частичный охват предмета действием», поэтому вариант купил молока будет означать, что молока куплено немного. У винительного падежа (купил молоко) такого оттенка значения нет.
Возможны оба варианта, но они имеют разное значение. Выпить молока значит "выпить какое-то количество молока", выпить молоко значит "выпить все молоко, которое было".
Правильно: выпить (все) молоко и выпить (немного, много, мало...) молока.
Предпочтительно: не содержит сухого молока, не используем сухого молока.
Коректно: пакет молока за тридцать рублей.
Верно: дать молоко и дать (немного, сколько-нибудь) молока.
Да, это название склоняется, Вы написали верно.
Корректно: не заметят отсутствия.
О пакете молока так говорить не следует.