Choster's answer is a very good look at the ins and outs of this.

To answer directly however, why do people in Taiwan have western names; the reason is chiefly that Chinese (Mandarin and Taiwanese being the dominant varieties in Taiwan) is a tonal language.

This means that where in English we might spell a word "shi", in Chinese this can actually be said with varying tones to make a number of different words.
Take this famous example:

[![Shi poem][1]][1]


  [1]: https://i.sstatic.net/j5fis.jpg


This means for example that you might have a girl her spells her Chinese name a certain way in English, but when you read it you're saying it completely wrong because you are not using the right tone. Even if she explains and demonstrates the proper way to say it, a lot of westerners have trouble getting it right. Many will even have trouble with the very concept of tones and how there can be several different shis.

You don't encounter this problem in for example Japanese, which has a pronunciation that is generally quite easy for westerners. An Englishman will have little trouble saying Akira Takada reasonably accurately where Chen Yi Hua will most likely be mangled beyond recognition.

All this being said however in my totally anecdotal experience Taiwanese people using English names is less common than Chinese people doing the same. I have met several Taiwanese who introduced themselves with their regular Taiwanese name. I'd be very curious to know if there is any data to support this and the reasons behind it- perhaps parents purposefully choose names with more neutral, westerner friendly tones? Perhaps its a sign of rising confidence and internationalization? Perhaps I just met a certain type of Taiwanese and a different type of Chinese. Who knows.