Yes they will be, unless you are dealing with server client differences then you will need remote events. The table is created 1 for server and 1 for client if required by both.
Sounds like a race condition. This is what happens when you rely on strict timing for code rather than defensive architecture; but also when you assume that both your scripts will run sequentially in the order you made them. Script “2” could be running before Script “1”. There is a “simple” fix but I don’t want to teach it to you because it’s a noob trap, all it’ll do is highlight the timing issue.
The state of a ModuleScript is shared between VMs: those are server, client, command bar, plugins and those four when in an Actor context (code parented under an Actor). Use of metamethods is unnecessary for creating “shared” content and you will experience the same problem. Use metatables only if your use case actually needs one, which in this case you really don’t.