What should be the requirement for training data in order to obtain a good regression model using neural network?
If this is your test accuracy (and you make sure not to use any test samples as part of the training), then I don't see any reason not to trust it. Maybe the distribution of the training data is a very good approximation of the real distribution. You can perform a quick sanity check by trying a different separation between the training and test dataset.
Yes, that is correct.
The short answer: you have no way of knowing how it will behave outside the range of trained samples. However, a case where a considerable amount of the test set is taken out of the range of all the training set with a 80-20 division is not likely.
Don't have any personal experience with this question, but from a quick read of several similar questions, it seems that the optimization process would be driven by the target variable which has the largest scale. So you either need to add some weights to the loss function or normalize the outputs (same-same).
Regarding the multi-output vs. multi-model question, I think that the first answer in the following thread is on point:
What is the difference between using single multi-output NN and multiple single-output NNs