Alterar
rewrite ^/admin/(.*).php$ /wordpress/wp-admin/$1.php break;
para
rewrite ^/admin/(.*)\.php$ /wordpress/wp-admin/$1.php last;
break
pára o processamento após o bloco de localização atual, mas neste caso você ainda precisa do bloco location ~ \.php$
para servir o admin php. Além disso, como isso é um regex, você quer escapar do literal. antes da extensão do php.