opengl matrix query

Do we always need to set the matrix mode and load identity matrix before drawing anything?

you need to change the mode when appropriate. OpenGL is a state thing, one set it’s there until set to something else.
matrix identity is set when you need a matrix to be identity matrix (look up what an identity matrix is). if you what to “concatenate” two matrices then setting one of them to identity is wrong.