Почему так происходит – у Inventory плоская структура. По сути вы имеете только хосты и группы. При разворачивании опсианной вами иерархии, ansible дважды находит группу с одним и тем же именем – debian. И эта группа является дочерним элементом как location1, так и location2, поэтому переменные для хостов этих групп мерджатся.
Как обойти эту ситуацию – думайте сами, как будет вам проще. К примеру, я бы сделал различные inventory-файлы для каждого из location. Либо, изменил иерархию на all-> debian->location1->hosts