の can be used as a nominalizer - eg. 読むのが怖い
reading [it] is scary - but here it is simply the noun-joining particle as in 花子の髪
The pattern here is
AとのBのC. The first の works pretty much the same way as the second, it establishes a relation between the two noun (A and B), and (B and C), except that the first relation between A and B is specified further by the addition of the particle と.
Perhaps the best way to explain this is to consider what happens when we omit と. ヤツらの最終聖戦 simply means
their final holy war, and for all we know, they might be waging war amongst themselves with no other parties involved.
と can be interpreted as "with". ヤツらと戦う, for example means
fight with (=against) them, 君と出逢う means
to meet ["with"] you.
Without の, ヤツらと最終聖戦(をする) sounds a bit strange and would mean
do the final holy war against them. More importantly, it can be interpreted only as a verbal action modified by ヤツらと, but not as a compound noun that can be compounded further. Ie., ✘ヤツらと最終聖戦の幕 is wrong [as a noun].
And that is why we need both と and の. ヤツらとの最終聖戦の幕 is a compound noun ready to be used in a larger sentence.
Note that の does not always express an attributive (genitive) relation, but a more open one, eg. 課長の田中 does not mean
の is used like this with some other particles and expressions. For example, in 愛についての感じ the relation between 愛 and 感じ is specified further -
a feeling regarding love. On the other hand, in 愛の感じ the relation is left open.