First, let's clarify some possible confusion. A compact complex manifold does not admit non-constant holomorphic functions, so, assuming that $X$ admits non-constant meromorphic functions, you actually want the divisor of such a function to include poles, not just zeros. Infinity is thus a legitimate value. The points at which the function is (truly) undefined are called indeterminacy points. Following pretty much the notation and approach of Encyclopedia of Mathematics, \url{https://www.encyclopediaofmath.org/index.php/Meromorphic_function} this is the distinction:
Let $\Omega$ be a complex manifold (at this stage, we do not require compactness, algebraicity or anything more, and I will stick to the notation $\Omega$ to emphasize that the description which follows is local). Let $\mathcal{O}$ be the sheaf of germs of holomorphic functions on $\Omega$, and for each point $x \in \Omega$ let $\mathcal{M}_x$ denote the field of fractions of the ring $\mathcal{O}_x$ (the stalk of the sheaf $\mathcal{O}$ over $x$). Then $\mathcal{M}=\bigcup \mathcal{M}_x$is naturally endowed with the structure of a sheaf of fields, called the sheaf of germs of meromorphic functions in $\Omega$. A meromorphic function in $\Omega$ is defined as a global section of $\mathcal{M}$, i.e., a continuous mapping $f: x \to f_x$ such that for all $x \in \Omega$, $f_x \in \mathcal{M}_x$. The polar set $P_f$ (of codimension $1$) and the set of indeterminacy $N_f \subset P_f$ (of codimension at least $2$) are defined as follows: Let $f_x=\varphi_x/\psi_x, \quad \varphi_x, \psi_x \in \mathcal{O}_x$, with $\psi_x$ not identically $0$. Then $x \in P_f$ if $\psi_x(x)=0$ and $x \in N_f$ if $\varphi_x(x)=\psi_x(x)=0$. So at each point $x \in P_f\setminus N_f$ (a pole) one can define the value of $f$ to be $\lim_{y \to x}f(y)=\infty \in \mathbb{P}^1$. I cannot think of any general condition that would imply $N_f = \emptyset$. Even on an algebraic manifold this is not guaranteed. See the comment below.
Now to answer the question: in a compact complex manifold a meromorphic function (if admissible) is uniquely determined by its divisor, up to multiplication. If you are asking for ``another" meromorphic function with the same divisor, all you get will be a scalar multiple of the original one.
To broaden the context a bit, given a divisor $D$ in $\Omega$, finding a meromorphic function $f$ in $\Omega$ with prescribed divisor $D$ is one of Cousin problems (the multiplicative one). Its solvability depends on some cohomological conditions on the manifold.
Finally, a question ``how many meromorphic functions are there" (not what you are asking) can be also approached from the point of view of Siegel's theorem: if $X$ is a compact, connected, complex manifold of dimension $n$ and $\mathcal{M}(X)$ denotes the field of (globally defined) meromorphic functions on it, then the transcendence degree of $\mathcal{M}(X)$ over $\mathbb{C}$ does not exceed $n$.
Edit: If you are going to change $f$ into $g$ while keeping the zero part $Z_f$ of the divisor of $f$, remember that on a manifold $Z_f=P_{1/f}$. So you want to solve the (additive) Cousin problem of finding a meromorphic function $h$ on $X$ with prescribed polar part (that of $1/f$). This will be solvable in general if $H^1(X,\mathcal{O})=\emptyset$. If $H^1(X,\mathcal{O})\neq \emptyset$, a solution might be still possible in specific cases. Then $Z_{1/h}=Z_f$. If you want the polar set $P_{1/h}=Z_h$ to avoid a specific point $x \in X\setminus Z_f$, solve your problem on $X\setminus \{x\}$.