will have finished - закончит к какому-либо моменту в будущем
это время Future Perfect; как мы знаем, времена Perfect славятся тем, что действие уже завершено (Presrnt Perfect)/завершилось к моменту в (Past Perfect)/завершится к моменту в будущем (Future Perfect)
предположим, что на этом этапе мы ещё не поняли, какое время нам нужно выбрать..) тогда рассматриваем второй вариант
has finished - уже завершено. время Present Perfect.
в данном случае, действие уже завершилось
I have finished my homework - к этому моменту, я закончил делать дз
итак, перейдём к вашему контексту
...но только после того, как он закончит роман, который он пишет сейчас
теперь мы точно понимаем, что действие завершится в будущем, значит - Future Perfect
иначе, он к данному моменту завершил написание романа, над которым он работает сейчас