1) Do they need to generate a new Bitcoin address for this purpose, or can they use their existing addresses?
No, but it doesn't hurt to separate them. Usually, we generate and use new addresses specific for MultiSig for the sake of simplicity and avoiding the confusion by having dedicated addresses for them. Note that you don't generate multisig with addresses, but with public keys.
2) Could someone provide a step-by-step guide on how to achieve this using Bitcoin Core or Electrum, preferably with an example?
For Bitcoin Core:
https://developer.bitcoin.org/reference/rpc/createmultisig.htmlFor Electrum:
https://electrum.readthedocs.io/en/latest/multisig.html3) Is it necessary to fund the newly created Bitcoin address during this process, or can they generate the multisig Bitcoin address without funding it?
No, similar to how you don't have to transfer funds to Bitcoin addresses when you generate them.
If Alice and Bob want to transfer all their coins to this newly created multisig 2-of-2 address, do they both need to approve the transaction along 2-of-2, or can Alice and Bob independently execute the transaction as usual from their private addresses, with the multisig address as the destination?
Restriction only comes in when you are spending the wallet; you would need the unlocking script (generated with your two public keys) and valid signatures when spending funds from that address.
In case Alice and Bob want to fund the new multisig address they can use any bitcoin source address, right?
Yes. There are no restrictions when sending funds to any address types.
However, I've still an unanswered question that was born out off this: is the Bitcoin address of Alice and Bob somehow related to the new-created multi-sig address or can Alice and Bob continue using their private address as they were used to before the multi-sig address creation ?
They are independent, it is just that signatures from those two addresses are required to spend. Alice and Bob can both use their own addresses as well. Though I do not recommend this; just create a new address.
There appears to be some confusion about HD wallets and Multisig setup.
Multisig is created by having only public keys of the signatories, and creating a Multisig address which the appropriate script. The master public key IS NOT involved in the creation of the multisig address. When you create a Multisig wallet with a HD seed, the wallet does the above automatically for you, with the different public keys generated from your HD wallet. As such, you have a "HD Multisig Wallet", which is generated by the combination of the public keys from the different seeds.
Ie. Index 1 of HD Seed A with Index 1 of HD seed B to generate Multisig Address 1, Index 2 of HD Seed A with Index 2 of HD seed B to generate Multisig Address 2.