Use 제 with the -가 postposition, and 저 with all other postpositions, or when you want to use the contraction of 저의. The same rule applies to the word 내 as it relates to 나. (Not a native speaker, but fairly confident about this.)
Korean is a language that relies a lot on context, so the present tense can express both meanings of "I'm going" or "I go", but if we stick strictly to the grammar then "I'm going" should be 가고 있어요. -고 있어요 is attached to the stem of verbs to mean you're in the middle of that action, its the present progressive. The action is happening as you speak. 공부하다 - to study 저는 공부하고 있어요 - I'm studying You could use this if someone sees you with your notebook and comes asking what you're doing, so you'd say "공부하고 있어요" because you're in the middle of that action. But it sounds kinda robotic, and since its a "long" sentence koreans will usually just say "공부해요". And thats what I mean when I say korean is a language that relies a lot in context, 공부해요 is just the conjugated version of 공부하다 and depending on context it can mean "I'm studying", "he/she is studying", "I study", "he/she studies", and it can even be used on the imperative "Study!", and I know this might give you a headache, but it can also express future actions. For example, imagine someone asks you "When are you going back to school?" in english you'd say something like "I'm going tomorrow", its present progressive but you're expressing a future action. The same happens in korean, if you say "내일 가요" (i'm going tomorrow) everyone will understand what you mean, you don't really need to use the future tense here and say 내일 갈거예요. I know this is a confusing concept to grasp at first, but just let it lingering in the back of your mind so you won't go crazy with sentences that doesn't make perfect grammatical sense since a lot of things rely on context :)
제/저 are formal and should be used when speaking to superiors and strangers, 내/나 are informal and should be used with people you are close with or are younger than you. They both mean the same thing.