I've already searched the site if this question had been asked before however I didn't find anything related to my question. Every time I order coffee some people sort of correct me by saying 2 milks some others use 2 milk. Can someone explain which is the correct form and why?
This is an interesting question because normally 'milk' is a mass or non-count noun menaing that there is no plural.
If you have some milk in pitcher, and you add some more milk, you have more milk not more individual items. If you pour some of that milk into two glasses (glass definitely has a plural), then you have two -glasses- of milk, not two...well you can't just say it with milk.
In the situation you describe, 'milk' is really a stand in for a very particular quantity of milk, measured out in small individual mil tubs. And each tub is 'one milk', a countable thing, and so one can reasonably say 'Can I have two milks?'.
This can allow most any non-count noun to be used in a 'count' manner. One could refer to a bottle of water as 'a water' for short:
Which is all to say that it is correct to say 'two milks' in this very particular instance. If there are two glasses or bottles of milk, you might also say 'there are two milks'. But that is just not as common; the small discrete items are more likely to be referred to in the plural form than the bottles. One would be more likely to refer to the collection of bottles of milk as 'the bottles of milk' or 'the milk' rather than 'the milks'.
Usually in the US (at mostly fast food chains) when we say two or three, we are referring to the sachet packed milk. If you are in a restaurant, where the sachets would look not so fancy, you'd say some milk. So you'd say two or three milk/sugar.
But in the UK, a milk is a more common thing to go along (especially with tea) compared to the US where we like to have our coffee without milk/cream mostly(and you might surprise people here if you have milk in your tea). Just a fact! dont know if it helps the context.