We present various extensions and modifications of quantum imaginary time evolution (QITE), a recently proposed quantum-classical hybrid algorithm that is guaranteed to reach the lowest state of system. We analyze the derivation of the underlying QITE equation order-by-order, and suggest a modification that is theoretically well founded. Our results clearly indicate the soundness of the here-derived equation, enabling a better approximation of the imaginary time propagation by a unitary. With the improved evaluation of the quantum Lanczos introduced in this study, our implementations allow for stable applications of QITE in larger systems. We also discuss how excited states can be obtained using QITE and propose two schemes. The folded-spectrum QITE is a straightforward extension of QITE to excited state simulations, but is found to be impractical owning to its considerably slow convergence. In contrast, the model space QITE can describe multiple states simultaneously because it propagates a model space to the exact one in principle by retaining its orthogonality. Finally, we demonstrate that spin contamination can be effectively removed by shifting the imaginary time propagator, and thus excited states with a particular spin quantum number are efficiently captured without falling into the different spin states that have lower energies. The effectiveness of all these developments is illustrated by noiseless simulations, offering the further insights into quantum algorithms for imaginary time evolution.