This is also some confusing stuff for me as well and whenever I am working on something related I have to read myself into it again. So no guarantee for accuracy at all. ;-)
First of all, even if mojo2 is for 2d graphics it sits on OpenGL which is made for 3d graphics rendering, so while it kind of only uses a fraction of the capabilities it has to deal with all the stuff that is related to 3d math.
I would divide this into two things: One is the stuff that are just representations of points in space and all the fancy math you need to deal with their transformations ... and the other thing is how those things are transferred to the two dimensional screen.
If you want to get into the first thing, which includes SetMatrix (Internally seen as ModelMatrix and ViewMatrix) and SetProjection2d (ProjectionMatrix), this
chapter from LearnOpenGL is a great read. All those matrices are multiplied at the end to get the ModelViewProjection matrix, so you could get the same result by completely different changes to each of the input matrices.
The other thing regarding mojo2 is the actual screen, where you define where the data given by the ModelViewProjection matrix is displayed. With SetScissors you specify which part of the screen is used for displaying and with SetViewport you specify where and how large the data is shown there.
While all the matrices and the resulting ModelViewProjection matrix is handled by mojo2 itself, scissor and viewport are nearly one to one implementations of the GL commands.
Also what does SetProejction2D actually do its hard to understand for me. Is it like a Orthocam?
Yes, I think so not being familar with the term Orthocam. It is a orthogonal projection of the 3d coordinates. Just like a view from an infinitely far away viewpoint while using a teleobjective to zoom in on the object.