This may not be what you are looking for, but this is how I would proceed :
As you said, time evolution is carried by a unitary operator $\hat{U} (\Delta t)$ whose generator is the Hamiltonian $\hat{H}$, i.e. $\hat{U}(\Delta t) = e^{-i\hat{H}\Delta t/\hbar}$, and $\hat{U}(\Delta t) \vert \psi (t) \rangle = \vert \psi (t+\Delta t) \rangle$. The Hamiltonian is thus defined as the operator whose action on the representation $\vert \psi \rangle$ of a particle is infinitesimal time translation $\hat{H} \vert \psi \rangle = i \hbar \frac{d}{dt} \vert \psi \rangle$.
Similarly to time evolution, I can define a unitary operator $\hat{U}(\Delta x)$ whose action is to displace a particle by the distance $\Delta x$ in the $x$-direction. Momentum in the $x$-direction is thus defined as the generator of this unitary operator, and must be hermitian : $\hat{U} (\Delta x) = e^{i \hat{p}\Delta x / \hbar }$. Since \hat{p} is hermitian, it has an eigenbasis $\hat{p} \vert p \rangle = p \vert p \rangle$ , $p \in \mathbb{R}$. From the superposition principle, I can create another state from the momentum eigenstates as : $\vert \Delta x \rangle := \int \frac{dp}{2 \pi \hbar} \hat{U}(\Delta x)\vert p \rangle = \int \frac{dp}{2 \pi \hbar} e^{ip\Delta x}\vert p \rangle$. This allows me to construct a position operator as $\hat{x} := \int d \Delta x \, \Delta x \vert \Delta x \rangle \langle \Delta x \vert$.
By these definitions we retrieve the commutation relations $[\hat{x},\hat{p}] = i \hbar \mathbb{1}$. 526
Therefore any quantum theory with unitary representations of spatial translations will have canonically conjugated position and momentum operators.
This definition of momentum as the operator of infinitesimal spatial displacement seems the most natural to me, both in quantum and classical physics : in the Lagrangian formalism, momentum $p = \frac{\partial L}{\partial \dot{x}}$ is the conserved charge associated with the symmetry $x \rightarrow x + \Delta x$ of the action. In the Hamiltonian formalism, momentum defines an operator whose action on a phase space function $F(x,p)$ is given by the Poisson bracket ${ F, p } = \frac{\partial F}{\partial x}$, that is the effect on $F$ of infinitesimal displacement in $x$.
This brings me to your second question : "Why do we need a conjugate variable for every observable that we look at?" In general, conjugated variables are related in the same way as time and energy : one variable defines a transformation of the system (often a symmetry), and the other defines the generator of that transformation (and the conserved charge in the case of a symmetry). In this sense : energy generates time translation, momentum generates space translation, the number operator (or charge operator in relativistic QFT) generates phase rotation $\hat{\Psi} \rightarrow e^{i \alpha} \hat{\Psi}$ ($\hat{\Psi}$ here denotes a quantum field operator in second quantization or relativistic QFT), and so on $^$. Furthermore, some of the conjugate variables that define a transformation have no corresponding observables/hermitian operators$^{*}$, like time and phase, so it isn't always helpful to consider conjugate variables as canonically commuting observables.
To resume : for conjugate variables, the counterpart of momentum generates an infinitesimal change in its conjugate "coordinate". The unitarity of QM implies that finite changes in the "coordinate" variable must be represented by unitary operators, whose hermitian generator is the "momentum" variable. This defines the "momentum" variable eigenstates, and the action of the unitary "coordinate" changes on the latter leads to the uncertainty relations. In particular, if the "coordinate" has a corresponding observable & eigenbasis, the two observables are related by canonical commutation relations. 976