1- what are the main components required to run a bitcoin payment gateway.(full node-bitcoin core, light client , ... ?)
Light client works as well, but running your own node to support the network would not be that bad of idea either. I'd personally avoid light clients for gateways as Core probably is most stable and overall better for developmental purposes.
2- Is it a good security practice to host the light client (payment gateway) on the same server of the bitcoin core?
So by light client/payment gateway, you mean your own program made to communicate with the bitcoin core? To generate addresses, send payments and everything that is handled by the client. There is no need for having light client like Electrum if that is what you meant. Full Client or Light client will do the same purpose about.
3- Can I do the transactions of ethereum ERC-20 coins (send and receive) on the same server or that require another server ?
Yes, you can if you have the needed resources for it in terms of hardware.
4- what other requirements do I need to run other altcoins transactions .
Depends alot on the altcoin. There are no any kind of general guide lines for development, as different cryptocurrencies can have a whole different code base and such (like Ethereum for example).
I do not know any answer to the 5th question, but i hope that my answers gave you some kind of new and useful information