A diferença entre os dois é o protocolo usado para se comunicar com o backend.
fastcgi_cache
está relacionado ao protocolo de backend FastCGI. Ele armazena em cache a saída dos back-ends conectados do FastCGI.
proxy_cache
está relacionado a back-ends que usam HTTP como o protocolo backend e armazena em cache a saída de back-ends conectados HTTP.