What is the difference between a multivariate function and a vector-valued function? I am not sure how to distinguish between a multivariate function and a vector-valued function when they are defined. For example, if I define a function as $f: \mathbb{R}^2 \rightarrow \mathbb{R}^2$, how do I know whether it's defining something like $f(x, y) = x + 2y$ or $\vec{v}(x, y) = (x + y)\hat{i} + (x - y)\hat{j}$?

The difference is in if the domain or the target space has multiple dimensions.  We say that a function is multivariate if it has multiple variables as an input (another way to view this is that it has a vector as an input.) A function that is mapped into a vector is vector-valued. It is possible for the function to be both, as the following examples show:
(i)Multivariate: $f(x,y) = x^2 + y^2$
(ii)Vector-Valued: $g(x) = x^3\hat{i} + 4x\hat{j}$
(iii)Multivariate and Vector-Valued: $h(x,y) =  (x^2 + y^2)\hat{i} + (x^2 - y^2)\hat{j}$
So as far as the function you defined it would be like (iii) (so closest to $\vec{v}$ in your example)
