While ritesh's answer might correct it, the explanation isn't clear.
The reason you are having both open at the same time is because of this: is-open="opened".
The is-open is used to open the specified datepicker when this scope value is true. You mapped both datepickers to the same value. So when you call open($event) and set $scope.opened = true, it opens both.
What you really want to do is have a different function you call that sets the correct variable. So change the HTML to:
<input type="text" ng-click="open($event)" class="form-control" datepicker-popup="{{format}}" ng-model="dtModel" is-open="opened" />
<input type="text" ng-click="open2($event)" class="form-control" datepicker-popup="{{format}}" ng-model="dtModel2" is-open="opened2" />
And then add the function to your controller:
$scope.open2 = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened2 = true;
};
See Plunkr
ng-clicksets a variable like the example in the documentation?