Hmm, what really helps me with shading is looking at photo references of similar pose/lighting I am doing. Also, you might want to look into doing some realism studies - I know they can be boring, but like, just try to paint even one thing from a photo, as in, copy the photo as study (but if you're gonna post the study, remember to credit the photo.) Ever since I did something like that it helped me to understand how shading on faces works (since my study was a portrait.)
Also a good shading practice in my opinion would be making a piece where you scrap the idea of lineart entirely (just for practice) and instead, paint the character without lines. Not having them forces you to define the character's form in 3D, since there are no lines to help you. This is the general way I draw myself actually, found it much easier than shading lined things.
You could also reverse your process as you've described it and do shading before you color. As in, create a grayscale shademap for your drawing, and then apply colors to that afterwards. Grayscale shading really helps with values, it makes defining contrast easier, because when we shade while coloring, many beginner-intermediate artists (and not only these, frankly! We all suffer) get too focused on color and don't notice the values. Some colors our eyes consider darker may not actually be darker. Here is a silly little thing I made to explain that to my friend: