Você esqueceu de injetar
$modal
dependência dentro de postsCtrl
controlador app.controller('postsCtrl', function ($scope, $log, $http, $timeout, Data, $modal) {
ATUALIZAÇÃO
Se você estiver usando a versão mais recente do bootstrap da interface do usuário angular, que é
0.14.X
precisaria injetar $uibModal
em vez de $modal
. Como eles renomeiam todas as diretivas boostrap e o nome serviec é precedido por uib
prefixo. A mesma coisa acontecerá com
$modalInstance
dependência, que precisa mudar para $uibModalInstance