bueno , en efecto tienes 3 campos del formulario que se llaman igual (orden_tamano), y aunque esten ocultos a la vista del usuario estan ahi, y al llamarse igual php solo puede recoger uno de ellos (el ultimo).
Tu idea inicial es buena, ponle nombres distintos, y luego con php verifica que campo es el que tienes que tomar (orden_tamano1, orden_tamano2 y orden_tamano3):
Código PHP:
if ($orden_producto=="producto-1") {$orden_tamano=$orden_tamano1;}
if ($orden_producto=="producto-2") {$orden_tamano=$orden_tamano2;}
if ($orden_producto=="producto-3") {$orden_tamano=$orden_tamano3;}
O con un Switch Case mejor, que no tenia ganas de escribir xD