So Wald starts with Greek indices for components and then progresses to Latin "abstract indexes" and I think you are confused because this makes it unclear what exactly they "mean". I have already typed out the "bigger picture" in a few answers here but it doesn't hurt to go through it again.
The idea is to pass to a notion of geometry which doesn't have coordinates. Let's see how that goes.
Happy little scalars
You are doing differential geometry. This means that you have a space of points $\mathcal M$ that will satisfy a bunch of axioms such that we will call it a manifold. In fact the nature of the points themselves is totally arbitrary, it could be a set of anything, and instead we get its manifold structure from some set of nice "scalar fields" $\mathcal S \subset (\mathcal M \to \mathbb R).$ So to be a manifold we must also specify $\mathcal S.$
So for example to define a 2-sphere we might take $\mathcal M=\{(x, y, z)\in \mathbb R^3: x^2 + y^2 + z^2 = 1\},$ and the nice scalar fields would probably be the smooth functions from $\mathbb R^3$ to $\mathbb R$, which we write $C^\infty(\mathbb R^3, \mathbb R).$
And what do I mean by "nice"? Well let me start with a slightly easier term, "pointwise." Given a function $\mathbb R^n\to\mathbb R$ we can apply it pointwise to get a function $\mathcal S^n\to\mathcal S.$ We do this by defining that the resulting scalar field acts on some point $p$ via,$$f[s_1,\dots s_n](p) = f\big(s_1(p),\dots s_n(p)\big),$$ feeding that point to all of the scalar fields in parallel and then combining their outputs with $f$. As you can see, I use square brackets to apply a function to a bunch of scalar fields pointwise and parentheses to apply it to real numbers. Now "nice" means that $\mathcal S$ must be closed under all smooth functions $C^\infty(\mathbb R^n \to \mathbb R)$ applied pointwise. So if you've got a nice scalar field $s$ then $\tanh[s]$ is also nice. If you've got two nice scalar fields $x,y$ then $x\cdot y$ and $x + y$ and $x - y$ are all nice, as are the constant fields.
One candidate for $\mathcal S$ would be all functions $\mathcal S = (\mathcal M \to \mathbb R),$ but this is a bad idea. The set $\mathcal S$ also defines our topology on $\mathcal M$, our sense of what points are connected to other points, by defining "a set is closed when it is the kernel of a nice scalar field -- that is, when there is a scalar field that maps that set, and only that set, to 0." But $\mathcal M\to\mathbb R$ would induce the discrete topology where every point is disconnected from every other. So for example on the sphere $r$ is a nice scalar field (because it is a constant), the polar angle $\phi$ is a nice scalar field, but the azimuthal angle $\theta$ is not nice unless you want to use a topology that's different from the one induced by open balls in $\mathbb R^3.$ The problem is that the scalar field $\theta$ abruptly changes from $2\pi - \epsilon$ to $0$ and thus would cause lines of longitude to be disconnected from the ones right next to them and stuff.
I will take for granted the words "nice" and "fields" and call nice scalar fields "scalars".
Coordinates
We then add a lot of axioms to this picture. For example to outlaw the discrete topology a good axiom is *under the kernel-closed-set topology of $\mathcal S$, the space is a connected space." But one of the most important is to say that the space is $D$-dimensional: around any point in $\mathcal M$ there is a neighborhood and a set of $D$ scalars $c_{1,\dots D}$ that we call coordinates around that point, such that if any two points in that neighborhood are different then at least one coordinate witnesses that difference by outputting a different real number for the two, and such that any other scalar can be written as a $C^\infty$ function applied pointwise to the coordinates, $s = \sigma[c_1,\dots c_D].$
So for example if we're doing the 2-sphere then $C^\infty$ allows the "bump functions" and applying one to the nice field $z$ (remember this is a space of triples of numbers which square-sum to 1; the extractors for the first, second and third of those numbers are bona-fide scalar fields $x, y, z$) can give us the lower hemisphere (including the equator) as a closed set, so the upper hemisphere (not including the equator) is an open set which can be taken as a neighborhood of any point in that hemisphere not on the equator. Two coordinates which work for that space are the scalars $x, y$. They do not work for the whole space at once; you would have to handle the lower hemisphere with $x, y$ separately and then the equator you would have to handle with either $x, z$ or $y, z$. But they work "locally" to a point which is all they need to do.
And there are axioms like "if you can figure out a scalar's values consistently in a patchwork of coordinate fields covering the whole space, then that scalar must exist, too" which are not super-important. Similarly there's the quirk that $\mathcal S$ is not a "field" because it has divisors of 0: the $0$-scalar may occasionally be formed as the product of two other scalars, one of which is zero on one set, the other of which is zero on some other set, and so they multiply to form a zero on the whole set.
Happy little vectors
You then need to have vector fields defined without reference to these coordinates. That is not too hard: we do it by looking for the directional derivatives to be our vector fields. Let's specify what this means. The nice vector fields (hereafter "vectors") are the maps $\mathcal V \subset (\mathcal S \to \mathcal S)$ which are Leibniz-linear. Let me denote for a function $C^\infty(\mathbb R^n, \mathbb R)$ that its partial derivative with respect to its $k^\text{th}$ argument is $f^{(k)}$, $$f^{(k)}(x_1,\dots x_n) = \lim_{h\to 0}\frac{f(x_1,\dots x_k+h,\dots x_n) - f(x_1,\dots x_k,\dots x_n)}{h}.$$
Then a map is Leibniz-linear if it distributes with Leibniz's chain rule over pointwise smooth functions, so $V \in \mathcal V$ means that $$V\big(f[s_1,\dots s_n]\big) = \sum_{k=1}^n f^{(k)}[s_1,\dots s_n]~V(s_k).$$ Notice that this uses all of the above, you have a pointwise sum of pointwise products of partial derivatives applied pointwise. Coordinates aren't part of the definition but of course once you use the coordinate axiom to get some, they fit right in: within that neighborhood, the vector field is wholly specified by the numbers $v^k = V(c_k)$, and any other scalar field is $s = \sum_k v^k~\partial_k \sigma.$
Happy little tensors and abstract index notation
We define the covectors as the linear maps $\bar {\mathcal V} \subset (\mathcal V \to \mathcal S),$ and more generally we define the $[m,n]$-valence tensors as multilinear maps from $(\bar{\mathcal V}^m \times \mathcal V^n) \to \mathcal S.$ We have to add an axiom to allow us to define contraction: we must specify that any $[m,n]$-tensor can be realized as some finite list of terms in $\mathcal V^m \times \bar{\mathcal V}^n.$ The way that this list works is that we apply the vectors to the input covectors and the covectors to the input vectors in order to get a finite list of scalars, then we add together the scalars to get the final resulting scalar. Like it's clear that any such finite list of tuples will be a multilinear map and hence a tensor; the axiom just needs to guarantee the reverse. Then we can define contraction as follows: write a tensor as a list of tuples and then apply for each tuple the $p^\text{th}$ covector to the $q^\text{th}$ vector, to get a scalar. Multiply that scalar times one of your vectors in that tuple, to get a list of such tuples each with one fewer vector and covector.
You may have noticed that that explanation was really long. That is where abstract index notation comes to the rescue! The idea is that we make a copy of the space of $[m, n]$-tensors for any arrangement of $m+n$ distinctive symbols we like and we write $m$ of them on top and $n$ of them on the bottom. We write this space as a $\mathcal T$ with the symbols next to it; the order of the symbols does not matter. Then tensors within that space are denoted using those same symbols, but here the order does matter. The point is that we use those symbols to encode a "wiring diagram" for how these things are combined together.
For example we just saw that there is an embedding from $\mathcal T^a \times \mathcal T^b \to \mathcal T^{ab},$ and this is our default meaning of juxtaposition: we write $A^a~B^b$ as our element of $\mathcal T^{ab}$ constructed from two members $A^a\in \mathcal T^a$ and $B^b \in\mathcal T^b$. We write the sum of two tensors to mean the obvious thing -- the multilinear map which feeds its input to both tensors and then sums the scalars back together -- but we restrict it so that both labeled spaces must be the same. Finally our "tensor component axiom" says that a given tensor must be writable as a finite sum $$\Omega^{ab\dots d}_{ef\dots h} = A^a B^b \dots D^d E_e F_f \dots H_h + I^aJ^b\dots L^dM_eN_f\dots P_h + \dots + S^a T^b \dots V^d W_e X_f \dots Z_h.$$
When we write a contraction, we repeat the same symbol on the top and bottom of a term and omit it from the space. So $T^{abcd}_{ebf}$ lives in the space $\mathcal T^{acd}_{ef}$ and comes from listing out the tuples of the original $[4,3]$-tensor $T$ and applying the second vectors to the second covectors to get a $[3,2]$-tensor.
We can define the relabeling isomorphism $\delta_a^b$ now. This is not quite the "Kronecker delta", but it has a very similar role. Rather than having a numeric value if indices are numerically the same or different, this tensor just relabels $a \leftrightarrow b$ when it is used in a contraction. We then can define the inverse of the metric tensor as $g_{ab}~g^{bc} = \delta_a^c$ if you like. All of this happens without any explicit choice of coordinates. The definition of the connection $\nabla_a$ happens without any explicit coordinates--it was in fact already defined for scalars (What would $V^a~\nabla_as$ be other than $V(s)$?!) but that cannot be uniquely extended to vectors and when you try you find that making $\nabla_a$ obey a Leibniz property still leaves a $[1, 2]$-tensor of freedom about what you're talking about; you can use this to force $\nabla_a g_{bc} = 0.$
Those should be covered already in Wald. You will notice that some things get their meaning from specific coordinates though. For example you will notice that Wald does not state $\Gamma^{a}_{bc}$ as you claim, and this is because a Christoffel symbol comes from a set of coordinates.
Extracting coordinates
This is really easy but I want to handle it for completeness; you might want to have some some basis for your vector space $e_1^a, e_2^a, \dots e_n^a.$ Especially in a coordinate neighborhood we saw that each coordinate came with a partial derivative that was Leibniz-linear in the appropriate way and so presumably was a vector.
From these vectors you will need to find a set of covectors $e^\mu_a$ that are "perpendicular to all the other ones and scaled to have inner product 1 with the correspondingly numbered vector," so that $e^\mu_a~e_\nu^a=\delta^\mu_\nu,$ where now this $\delta$ emphatically is the Kronecker $\delta$. Note that this is also the mathematics of your solid state physics course where you had a skewed coordinate system and therefore the notion of "perpendicular to all the other non-corresponding basis vectors" usually pointed in a different direction to "the corresponding vector." These upper and lower indices can also be very helpful in that context.
Then if your basis was exhaustive, you will have $v^a$ having components $v^\alpha = e^\alpha_a~v^a$ and being reconstructable from those components as $v^a = e^a_\alpha v^\alpha$ (with an Einstein sum over $\alpha$, note that abstract indices do not really Einstein sum; they just get wired together or not).
Given these you actually could take a $\Gamma^\alpha_{\beta\gamma}$ and compose it with an Einstein sum with $e^a_\alpha~e^\beta_b~e^\gamma_c$ so that you would have a valid tensor that you could hypothetically call $\Gamma^a_{bc}.$ But the reason that we say that the Christoffel symbol is not a tensor is that this tensor only has components identical to the Christoffel symbol's entries in these coordinates. If you chose a different set of coordinates and repeated the same process you would get a different tensor when all was said and done. So because you know that Christoffel symbols are not tensors you begin to see it as a type error if they are written with the abstract indices because it probably means someone is doing something weird that they shouldn't be.