Yes, names can be the same if they are from different racing jurisdictions and / or the name is from a dead horse and is recycled for one born thereafter. In this case, the full details from the database are:
select meeting_date, bred, course, race_id, runner_id from historic_races join historic_runners using (race_id) where name="Bowman";
+--------------+------+------------+---------+-----------+
| meeting_date | bred | course | race_id | runner_id |
+--------------+------+------------+---------+-----------+
| 2003-06-27 | USA | Goodwood | 20026 | 233409 |
| 2003-08-14 | USA | Salisbury | 24948 | 233409 |
| 2020-06-05 | IRE | Lingfield | 939766 | 2757376 |
| 2020-06-15 | IRE | Pontefract | 941427 | 2757376 |
| 2020-06-27 | IRE | Redcar | 944454 | 2757376 |
| 2020-07-12 | IRE | Lingfield | 947905 | 2757376 |
| 2020-07-18 | IRE | Newbury | 949603 | 2757376 |
| 2020-08-16 | IRE | Ripon | 956764 | 2757376 |
| 2020-09-13 | IRE | Curragh | 964464 | 2757376 |
| 2020-10-03 | IRE | Redcar | 969717 | 2757376 |
+--------------+------+------------+---------+-----------+
The key is that the first Bowman was bred in the US whereas the second Bowman appearing 17 years later was bred in Ireland.
There are rarely some glitches with differently runner_ids for the same horse but this isn't one of them.