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