Simple rule: Regular expressions can't count. That said, sometimes you are given languages that look like they need counting, but it turns out they actually don't. An example is that language over (0, 1) which contains equal numbers of substrings 001 and 100 and it turns out you cannot possibly have two more of one than of the other.
A regular language is a language that can be defined by a regular expressions. When "regular expressions" were defined, they were intentionally defined so that the languages can be parsed by a finite state machine. "regular expressions" could have been defined differently, to be more powerful, but they were not. I'd focus on languages recognised by finite state machine.
If you have a string X, then there will be some set of strings Y such that XY is in L. If you parse using a finite state machine, in each state there will be some set of strings Y so that parsing Y from that state will end up in an accepted state. And parsing any string X from the initial state will end up in some state.
So your language can be parsed by a finite state machine if for all initial strings X, there is only a finite number of different sets of suffix strings that create a string in L.
Look at your language: After parsing nothing, you need to parse $0^n1^n$. After parsing 0, you need to parse $0^n1^{n+1}$. After parsing 00, you need to parse $0^n1^{n+2}$. And so on. So there is an infinite number of sets that would be required, and a finite state machine would need an infinite number of states.