What you are doing is right. The value to use depends on the definition of the standard state. The values of $K_c$ and $K_p$ are indeed different, but what you are not accounting for is the fact that $\Delta G^o$ also changes with the equilibrium constant used.
The naught over $G$, representing "standard state" establishes some rules. For homogeneous gaseous reaction, the standard $\Delta G$ corresponds to the standard state of all gases, which is defined in terms of pressure $P=\pu{1atm}$, and hence $K_p$ needs to be used with the quoted value of $\Delta G^o$.
For reactions involving solutes and pure liquids, the standard states are defined differently, in terms of their concentrations, and hence $K_c$ is to be used. Since the definition of standard state affects the value of $\Delta G$, we must choose that form of the equilibrium constant which uses the activity of the reacting species in terms of the quantity used to define the standard state of that species. This maintains uniformity.