As far as texts go, I recommend Kaye or chapters $9$-$10$ and $12$-$13$ of Boolos/Burgess/Jeffrey.
Ignoring the misstatement of the theorem in the first place ("subset" should be "finite subset" per egreg's comment), your mistake is implicit in the following sentence:
Now we assume by the way of contradiction that F is unsatisfiable, i.e. at least one formula in F has to be a falsum.
That "i.e." is false - unsatisfiability of $F$ doesn't mean that some specific sentence in $F$ is unsatisfiable, but rather that the sentences of $F$ can't all be true at once.
For example, consider $$F=\{c=d, c\not=d\}.$$ Each individual sentence is satisfiable, but the whole set $F$ is clearly unsatisfiable. (I'm assuming here the context is first-order logic; if you're looking at propositional logic, consider $F=\{p,\neg p\}$ instead.)
So in general a set of sentences could be unsatisfiable for a complicated reason. What you're trying to show is that unsatisfiability can't be too complicated: while we can't find a single culprit sentence in general, if $F$ is unsatisfiable then there is some finite subset of $F$ which is already unsatisfiable. In propositional logic this is already nontrivial, and in first-order logic it's genuinely hard.
Now how does the proof go?
Well, for both propositional and first-order logic, there are multiple different proofs of the compactness theorem. One option in the propositional setting is topological, the key step being Tychonoff's theorem; that's the one I'll outline here.
It's worth noting that this approach has a couple major drawbacks: it does not easily generalize to first-order logic, and it also has significant technical overhead. However, personally I've gradually come to view the finickiness of the topological argument as a positive: understanding precisely why it doesn't generalize gives a lot of insight into how both propositional and first-order logic work, and the additional overhead material is both worth learning on its own and a source of motivation for the study of nonclassical propositional logics and (for me at least) Stone duality.
Suppose I have a finitely satisfiable set $S$ of sentences in the propositional language $\{p_i:i\in I\}$ (that is, the propositional language built out of the sentence letters $p_i$ for $i\in I$). Let $Val$ be the set of all valuations in this language (that is, all maps from $\{p_i:i\in I\}$ to $\{0,1\}$, thinking of $0$ as false and $1$ as true); we want to show that there is some $f\in Val$ which makes $S$ true.
$Val$ can be thought of as the Cartesian product of $I$-many copies of $\{0,1\}$; as such, it has a natural topology, namely the product topology coming from the discrete topology on each of those sets. It's not hard now to show that in this topology, each propositional sentence $\sigma$ picks out a clopen set - that is, for every propositional sentence $\sigma$, the set of $f\in Val$ which make $\sigma$ true is both open and closed in this topology on $Val$; basically, just use the fact that Boolean combinations of clopen sets are clopen.
This tells us the following:
We can think of our set $S$ of sentences as being a set of clopen subsets of $Val$, and the finite satisfiability of $S$ says exactly that any intersection of finitely many of these clopen sets is nonempty.
But this topology on $Val$ was the product of compact topologies (every finite space is trivially compact), hence by Tychonoff's theorem is itself compact. In a compact space, any collection of closed sets with the finite intersection property (= any intersection of finitely many of them is nonempty) has nonempty intersection. Applying this to the set of clopen subsets corresponding to $S$ gives a(t least one) valuation $f$ which makes all of $S$ true at once.
logic
was not there. – Oct 15 '19 at 01:11