Fundamental set theory and logic self education reading suggestions I am currently studying for a bachelor's degree in computer science.
I have learnt 2 courses which involve basic naive set theory.
I have also learnt a course in logic which I think is pretty standard.
Those courses felt basic in the sense that they both seem to work over this "definition" - "a 'set' is a set of 'things' ". Also, in the logic course, It was very unclear to me how they can prove theorems about proving, using what sometimes seems to be the very theorem they try to prove. Or,do things that to the knowledge-naked eye like mine can seem self referential. As an example, they defined the relation $"="$'s interpretation under a model M as:
$=^M = \{⟨a,a\rangle | a \in M\}$ 
Which was actually hilarious to me,I did not understand the (I hope existing) explanation of why this is not using $"="$'s interpretation in whatever is a model of set theory (which again I do not know what exactly is) to define an interpretation of "=" under a model of any theory, including, it's interpretation in any model of set theory... It seems like they have used here set 'equality' before being able to give meaning to a statement such as $A=B$ for two sets $A,B$ as there are in the definition (if indeed, those definitions are done in the framework of a model of set theory, again, whatever that is, and I just don't know.)
It all comes down to my understanding that for someone who knows what exactly is going on, there will be no problems reading the books I read as I am sure all those things have a rigorous foundation up to the level where you cannot possibly ask "but why?" or "but how?". But for me who is not familiar with it, the 'learning' experience was an actual nightmare.
I want to get to that level of knowledge of never needing to ask how or why or feel cringed by "definitions", because I know the rigour behind them.
The idea of undoubtedly understanding the concepts of "set", "property", "number" and so on fascinates me.
What or from who or where should I read to get this knowledge?

These roughly are the syllabuses for the courses I have learnt:
Naive set theory:
operations on sets, relations with particular equivalence and order, functions, power sets and Cantor's theorem, some very basic arithmetic of cardinals
Logic:
propositional calculus via Hilbert's system and proofs of completeness and consistency, first order languages - Henkin construction, consistency and completeness, second order languages. Some basic model theory - Löwenheim–Skolem theorem, compactness theorem. Peano's axioms and Gödel's incompleteness theorem.
 A: Consider this more of a comment than an answer, but perhaps I can shed some light on the matter.
The spirit of set theory, as you probably know, is to treat everything as set-like objects. Sets encapsulate the notion of "containment", which is a surprisingly powerful tool. Their creative expression allows us to treat numbers, ordered pairs, functions, and relations as sets, to name a few.
Classically, all relations are considered sets. For example, for any binary relation $R$ over a set $X$ between two objects $a,b\in X$, we define
$$(a,b)\in R \iff aRb.$$
That is to say, if $a$ is related by $R$ to $b$, then the ordered pair $(a,b)$ is in $R$. Naively, we could use this to define the equivalence relation $``="$ as a set. However, the "global" equivalence relationship is treated a little differently than other relations. This is partly because it is already a part of the metalanguage, and its usage is defined by the Axiom of extensionality.
In other words, there is no set containing all ordered pairs $(a,a)$, because if there were, then this would imply the existence of a universal set, which is forbidden by modern set theory as it leads to inconsistencies such as Russell's paradox or Cantor's paradox).
If you're curious as to how treating $``="$ as a set-like relation leads to these paradoxes, see my previous question Is $\in$ considered a relation in the same regard as other relations?
We can, however, define an equivalence relationship $=^X$ over any explicit set $X$, much like your definition
$$=^X=\{(a,a):a\in X\}$$
There is a subtle distinction between sets and classes, which settle these discrepancies.
In general, personally, the best way I have become acquainted with set theory is to read up upon the intuition and behavior of the axioms which define them. There are, of course, multiple "competing" (so to speak) modern set theories. Each of them essentially founded on cleaning up the paradoxes produced by naïve set theory.
