The internal users are users that have an active account in your application. External user could for instance be anonymous users, they do not have an account. And indeed if you want to have more active accounts you need to upgrade your license unless if I recall correctly you have the enterprise license.
Sudden spikes are handled by the platform. As with every platform it is always good to do some load testing on the application that you build. The number of accounts do not have a limit. But the size off your node should grow according to the number of accounts but you can always add hardware to your environment. So you have the standard plans but can upgrade such plan with extra memory, hard drive space or CPU. When you have an on premise license you can offcourse determine your own hardware. And on premis means that Mendix is running on your own server instead of a server controlled by Mendix.
For further questions contact sales of your Mendix partner of Mendix directly.
Regards,
Ronald