Can I create say 100 unique Ethereum addresses for the same wallet/smart contract? I can then assign the different addresses to 100 different affiliates.
Use a Forwarding smart contract. Deploy 100 of them which merely send the funds to a common address, and you're done.
No you can't. This is supported in Bitcoin but Ethereum uses a different system for tracking account balances - there is only one balance per account. That means there is also only one (public) address for the balance.
As said, you can use a smart contract to forward the Ether to multiple accounts.
Also your link https://www.reddit.com/r/ethereum/comments/5yeb4n/ethereum_vanity_address_generator/ does not claim to be able to create vanity addresses that point to the same account, it's just for creating addresses that point to different accounts.