With a single hyphen, you have an adjective and a noun. When you hyphenate throughout, the multiply-hyphenated term is an adjective.
To use one of your examples:
a post-civil war is a war (noun) that is no longer (‘post’) civil (adjective); whereas
a post-civil-war landscape is a landscape following a civil war.
In these constructions, the words in the ...