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