Because "shampoo" is not a countable noun* in English. I think this is because it is a fluid, and fluids are never really distinct objects. You could say "a bottle of shampoo" however, because bottles ARE distinct objects.
- as I say below, there is a context where "a shampoo" could be used. That's when we are not talking about the physical fluid called "shampoo", but about a specific brand of product labelled as shampoo.
"Do you have a shampoo that will make my hair less oily?" "Yes, try FreshHead's GreaseAway product"