We investigate the kinetics of the ubiquitous phosphorylation-dephosphorylation cycle on biological membranes by means of kinetic Monte Carlo simulations on the triangular lattice. We establish the dependence of effective macroscopic reaction rate coefficients as well as the steady-state phosphorylated substrate fraction on the diffusion coefficient and concentrations of opposing enzymes: kinases and phosphatases. In the limits of zero and infinite diffusion, the numerical results agree with analytical predictions; these two limits give the lower and the upper bound for the macroscopic rate coefficients, respectively. In the zero-diffusion limit, which is important in the analysis of dense systems, phosphorylation and dephosphorylation reactions can convert only these substrates which remain in contact with opposing enzymes. In the most studied regime of nonzero but small diffusion, a contribution linearly proportional to the diffusion coefficient appears in the reaction rate. In this regime, the presence of opposing enzymes creates inhomogeneities in the (de)phosphorylated substrate distributions: The spatial correlation function shows that enzymes are surrounded by clouds of converted substrates. This effect becomes important at low enzyme concentrations, substantially lowering effective reaction rates. Effective reaction rates decrease with decreasing diffusion and this dependence is more pronounced for the less-abundant enzyme. Consequently, the steady-state fraction of phosphorylated substrates can increase or decrease with diffusion, depending on relative concentrations of both enzymes. Additionally, steady states are controlled by molecular crowders which, mostly by lowering the effective diffusion of reactants, favor the more abundant enzyme.