Reason 1:
Staff in many jobs are not permitted to reveal their surnames. This is a security measure, to prevent aggrieved customers from seeking to attack them (or to prevent potential stalkers from being able to locate staff). For example, when I ran a railway station, the company withdrew all name badges which showed a surname, and replaced them with badges which only showed forenames. While it might be difficult for an aggrieved customer to trace a call centre worker called John Smith, it would be far easier to find Uriah Ponsonby-Smythe. It makes sense to have a single policy which applies to all staff.
Reason 2:
Many call centre staff don't use their own forenames anyway, so there are no surnames to pair up with the fictitious forename that you're given over the phone. In particular, call centres in India will often seek to employ staff without strong Asian accents. (i.e. they look for staff with 'British' accents). To suggest that you're speaking to someone in the UK, a worker called 'Sunil' might be told to introduce himself as 'Colin'. His colleagues Narendra and Sunitha will become 'James' and 'Sandra' respectively.
Sometimes the two reasons come together. A call centre in the UK might want to keep the real identities of their staff confidential, so they'll only use forenames. However, they employ 6 people called Tom and 11 people called Kylie. So that they know who you were talking to, if you call to complain, they'll rename all of their staff uniquely. (For instance, when Joe Bloggs joins their team, they'll look down their list of names they've not used yet and say "Right, from now on, you're Simon" even though he's the only Joe in the company, simply because 'Simon' was the next name on the list).
Chris