So the more abstract thing that's happening here is that we are defining vector fields as the derivations on the manifold. Suppose you have a set of scalar fields $\mathcal S\subset(\mathcal M\to\mathbb R)$ on the manifold which we decide to call "smooth." To formalize this we require the closure of $\mathcal S$ under $C^\infty(\mathbb R^n, \mathbb R)$ functions, where the interpretation of these as $\mathcal S^n\to\mathcal S$ functions is by applying them pointwise, $$f[s_1,~\dots s_n](p) = f\big(s_1(p), ~\dots s_n(p)\big),$$where $p$ is a point in the manifold $\mathcal M$. In particular $\sum_i s_i$ makes sense as $p\mapsto \sum_i s_i(p)$ and $s_1 s_2$ makes sense as $p \mapsto s_1(p)~s_2(p),$ but the point is that the closure applies to all smooth functions. This set $\mathcal S$ becomes the topology on the space, too: we say that a set is closed when it is the kernel (set of points mapped to zero) of a scalar field; we can prove that this is a valid closed-set topology via the above closure axiom. (This is why choosing $\mathcal S = \mathcal M\to\mathbb R$ is a bad idea, the trivial closure axiom is nice but you get the discrete topology for the space.)
The definition of the derivations are that they are maps $\mathcal V \subset (\mathcal S\to\mathcal S)$ which obey the Leibniz law. Let $f_{(i)}$ denote the partial derivative of $f$ with respect to its $i^\text{th}$ argument, holding its other arguments constant: so that we do not need to wrestle with symbolic expressions. The generalized Leibniz law is that for all $V \in \mathcal V$ and for all $f\in C^\infty(\mathbb R^n, \mathbb R)$ we have $$V\big(f[s_1,~\dots s_n]\big) = \sum_{i=1}^n f_{(i)}[s_1,~\dots s_n]~Vs_i.$$We take this definition because it is completely coordinate-agnostic. I haven't even defined what coordinates are yet, and I know what derivations are.
Coordinates
But the best intuition I can give you why this would define a module that corresponds closely to what you think of as vectors comes from introducing coordinates, so let's do that. The coordinate axiom says that about any point $p$ there is an open set of points and a set of $D$ scalar fields in $\mathcal S,$ let's call them $c_1, \dots c_D,$ which can be used to tell the points in the set apart from each other: and all other scalar fields $s$ can, on this open set, be represented as one of these $C^\infty(\mathbb R^D,\mathbb R)$ smooth functions applied to the coordinate field.
I claimed that this would clarify the connection between the Leibniz-linear derivations $\mathcal V$ and the ordinary sense of a vector space. Even though the derivation has a meaning independent of the coordinates, when we use these coordinates in the neighborhood of a point we find that $$V(s) = V(s[c_1,~\dots c_D]) = \sum_{i=1}^D s_{(i)}[c_1,~\dots c_D]~V c_i.$$ Now if we look at the above we realize that on this open set the derivation is truly defined, in terms of what it does, by $D$ different smooth scalar field components $v_i = V c_i,$ and its entire action on the open set follows from those components. So locally we see that a derivation is isomorphic to a tuple $\mathcal S^D,$ and the only "extra" thing that we are imposing is that the vector field have some "independent existence" at all points.
So this property returns us—or at least me—back to my first linear algebra class where I were slightly lied to by my math professor, stating "we're going to define that a vector is just a list of numbers." Now it's a vector field and at every point there's a neighborhood where the vector field is a list of scalar fields, but it's about as close as we can get to that freshman-in-college definition. But there's another thing going on here, too.
So given two nearby points $p, p+\delta p$ and some scalar field $s$ there is a small variation $\delta s$ between those two points, and the coordinate axiom lets us write this as $$\delta s = s\big(c_1(p+\delta p),~\dots c_D(p+\delta p)\big) - s\big(c_1(p),~\dots c_D(p)\big).$$ But to first order we're going to have that the coordinate fields are different by some small $\delta c_i$ and we'll get the expression $$\delta s = \sum_i \delta c_i~s_{(i)}[c_1,~\dots c_D](p).$$
It's a little imprecise because now we have to "lift" these $\delta c_i$ to being scalar fields (right now they are just numbers) and insist that the field can be consistently extended outside of this open set, but: in some sense this assembly $\sum_i\delta c_i~s_{(i)}[c_1,~\dots c_D]$ is precisely what we mean when we say "we're going to look at what happens locally when we translate over space in a certain displacement defined by these $\delta c_i$." In that sense a derivation is a "directional derivative," and since it has both a scale and a "local direction," it is a "vector" quantity.
Example: working on the $2$-sphere
I'm a very firm believer that we learn with examples, so let me give one with nontrivial structure.
So for example on the 2D sphere that is the border of the 3D unit ball, $\mathcal M = \{(x, y, z) : x^2 + y^2 + z^2 = 1\}$, a natural place is to start is with the scalar fields $x(p), y(p), z(p)$ that give us the coordinates of a point on this ball. Then we say that $\mathcal S$ is the smooth functions $C^\infty(\mathbb R^3,\mathbb R),$ interpreted here as $f[x, y, z]$ on our three starting smooth scalar fields.
We now take the North Pole $N=(0,0,1)$ as our point and we want coordinates to distinguish the points nearby. I find that we can choose the open set to be the hemisphere of all points north of the equator, and on this hemisphere $x, y$ are perfectly good coordinate fields: since we only need two of them, we know it's a 2-dimensional manifold; all of the other fields are smooth functions $f^N(x, y) = f(x, y, \sqrt{1-x^2-y^2})$ on this open set.
I can also point out that with the above definition the aximuthal angle $\theta$ is not a smooth scalar field; there is no way to get that discontinuity between $\theta \to 0^+$ vs $\theta \to 2\pi^-$ resolved with a smooth function of $x, y, z$. (The polar angle $\phi$ is fine, being an arctangent of $z$.) But we can still think of these fields as $f(\sin\phi~\cos\theta,~\sin\phi~\sin\theta,~\cos\phi)$ and take a derivative with respect to $\theta$ holding $\phi$ constant via the chain rule, $$f \mapsto -f_{(1)}(\dots)~\sin\phi\sin\theta + f_{(2)}(\dots)~\sin\phi\cos\theta.$$ Substituting in we have $V\big(f[x, y, z]\big) = -y~f_{(1)}[x, y, z] + x~f_{(2)}[x,y,z]$ and that is a perfectly valid derivation: $\partial/\partial\theta$ is a derivation even though $\theta$ is not a smooth scalar field.
The action of $\partial/\partial\theta$ on some "coordinatized" $f^N$ by contrast looks dauntingly complicated at first: the only arguments here are $x$ and $y$ and intrinsically therefore we cannot stop these derivatives $f_{(3)}$ from coming in via the chain rule. Notice that $f_{(3)}$ most certainly does not come in above, so this would generate a real mathematical inconsistency! But remember what I said above: all we need to do to get the action of $V=\partial/\partial\theta$ on this open set containing $N$ is to figure out $V c_{1,2}.$ We know that $V x = -y$ and we know that $V y = x$, so that's the answer; the operation on $f^N$ is $$V\big( f^N[x, y]\big) = -y~ f^N_{(1)}[x, y] + x~ f^N_{(2)}[x, y].$$Then we can both see why my concerns about $f_{(3)}$ are immaterial: if we expand this in terms of $f$ we find $-yx f_{(3)} + x yf_{(3)}$ which cancel out. The component fields $-y(p), x(p)$ really are everything we need to know about this derivative $\partial_\theta$ on the northern hemisphere: and they specify at any given point a "local direction" which turns this into a directional derivative.
Minor point completing the theory
The only thing left is just to define that $\nabla s = V \mapsto V s.$
In words, now that we are saying that the derivations are what we mean when we speak of "vector fields", we become very interested in the covector fields $\bar{\mathcal V}$: these are the linear maps from vector fields back to scalar fields. An $[m, n]$-tensor will then be a multilinear map $(\bar{\mathcal V}^m, \mathcal V^n)\to\mathcal S$ from $m$ covector fields and $n$ vector fields to a scalar field: but we will postulate as an axiom that every $[m, n]$-tensor can be represented as a finite list of tuples of $m$ vector fields and $n$ covector fields, with its action on the previously specified fields basically being "take each tuple of $(\mathcal V^m, \bar{\mathcal V}^n)$, apply it to the input fields $(\bar{\mathcal V}^m, \mathcal V^n)$ to get $m+n$ scalar fields $\mathcal S^{m+n},$ then multiply all of these together into a scalar field in $\mathcal S$. Do this for each tuple in the list and then sum over the list to get our final output in $\mathcal S$." From here we can talk about metric tensors and orientation tensors.
This is our tensor algebra and we can immediately recognize that, given a scalar field $s$, we can promote it to a covector field $\nabla s$ based on the idea that it takes a vector field $V$ and applies it to $s$ to form the scalar field $V s.$
One thing that is intriguingly not well-defined is the action of $\nabla$ on a vector field, which is sufficient to define it over the entire space of tensor operations as we expect the Leibniz properties to guide our way and we know how $\nabla$ should act on scalars. (For example the operation of $\nabla$ on covectors should be defined as $\nabla_\mu~u_\alpha =v^\alpha\mapsto \nabla_\mu(u_\alpha v^\alpha) - u_\alpha~\nabla_\mu v^\alpha;$ the right hand side of that only applies $\nabla$ to a scalar and a vector.) But it turns out that this choice of $\nabla$ is ambiguous up to a $[1,2]$-tensor, and we have to postulate things like $\nabla_\mu g_{\alpha\beta} = 0$ and $\nabla_\mu\nabla_\nu - \nabla_\nu\nabla_\mu = 0$ in order to define an unambiguous one, the "Levi-Civita connection", across the space.