How would I know why a move is good or not? When I play chess on say lichess.org, I can see whether my move is good or not according to Stockfish. I can see why some moves are obvious blunders or mistakes, but for some other moves I don't really know why said move is bad/good. Is there a heuristic or engine or some rules I can use to see why a move is good or bad?
As far as I know, there is no engine that does what you are looking for. An engine is a program that does nothing more than take certain positional and material elements into account, and gives it an evaluation. It does not break down the elements and show you how it evaluated each of them. Sometimes, it can be obvious because the analysis is a clear win of material, but most of chess is more deeply hidden than that....sometimes VERY deeply hidden.

I found a site that does what you are asking. It takes those evaluations, and tries to put words and understanding to the numbers.

You it on one of the problems with chess-analysis software for weaker players, and that is that it just shows the strongest move per the computer, without any explanation why. There are some programs, like the ChessBase programs that, using their "Tactical Analysis" feature, attempt to give some explanation to the moves, but they are all wanting.

That said, decodechess.com seems to do better than most for newbies. As a USCF Master, the explanations are pretty good from what I can see, and the underlying "engine" is the same Stockfish that you use. Although a premium account is $99/year (right now, 50% off with the promo code "getserious". for the record, I have no affiliation with the site, nor am I a member), you can create an account, and "decode", or analyze three games per day for free. If you like it, I would jump on the promo.