How about using conditional formatting (I assume your data is sorted):
Mark the column A and add a conditional formatting using a formula. Add as formula:
=ISEVEN(COUNTA(UNIQUE($A$1:$A1)))
Note that the range starts always at row 1, but ends for every cell in column A at the current row (for cell A4, the range would be implicitly $A$1:$A4, for A10 it would be $A$1:$A10 ...).
UNIQUE returns a list of unique values; COUNTA will count this unique list; and ISEVEN will return True when the number of unique values is even.
Assuming that your data has a header, for all the cells holding the first name (John), the number of unique values is 2 (header and "John") and therefore the name is formatted in bold. For the next name (Nancy), the number of unique values is 3 which is odd: No formatting is done.
Note that this will work only for modern version of Excel (eg 365) as the UNIQUE-function was added only recently.
Of course you can also use code for that. Big difference: Conditional formatting adapts when you change your data, you don't have to do anything. When you format the cells with Bold (by hand or by code) and change your data, you have to redo your work (eg run the macro another time).
Just to get you the idea:
Sub MakeMyNamesBold()
Dim r As Range
Set r = ThisWorkbook.Sheets(1).Range("A1").CurrentRegion.Columns(1)
Dim cell As Range, isEven As Boolean
For Each cell In r.Cells
If cell.Row = 1 Then
isEven = False
Else
If cell.Value <> cell.Offset(-1, 0).Value Then
isEven = Not isEven
End If
End If
cell.Font.Bold = isEven
Next cell
End Sub
Update To make a complete row bold:
For conditional formatting: Just apply this conditional format rule to all your data. The column address in the formula is absolute ($A), the count/unique logic will look to column A for all the cells.
When using the code, you simply change the line that sets the Bold-attribute to
cell.EntireRow.Font.Bold = isEven