The behaviour you've described is by design because a Value List is compiled of unique values, not unique records.
As a workaround, you could create a calculation field that concatenates the last name and first name of the Donors:
Donors::Last_Name & ", " & Donors::First_Name
This calculation field will generate results that look like this:
If you use then this calculation field as the "second field" when setting up your Value List, you'll see the individual Smiths.
However, if you have more than one John Smith, for example, you'll still run into the same problem as before - only one "Smith, John" value will be shown in the Value List. But at least the odds of two (or more) of your Donors having the same first name and last name is far less than the odds of several Donors having just the same last name.
Hope this helps!
If you have duplicate values, then a drop down is not a good selection method - unless you expect the user to recognize the correct Smith by DonorID (in which case you could append the ID to the name). Consider selecting from a portal or a list instead.