The reason why compactness is not provable from ZF is that you need choice for some kinds of infinite sets. You don’t need choice for countable sets (if you have a way of mapping them into the integers that is). You can get a proof of compactness for any countable set of axioms by proving completeness for any countable set of axioms, which can be done by construction of a model as in Johnstone’s Notes on Logic and Set Theory p. 25.
The reason why compactness is not provable from ZF is that you need choice for some kinds of infinite sets. You don’t need choice for countable sets (if you have a way of mapping them into the integers that is). You can get a proof of compactness for any countable set of axioms by proving completeness for any countable set of axioms, which can be done by construction of a model as in Johnstone’s Notes on Logic and Set Theory p. 25.