Hi joey,
What you want is a list of distinct values (names) from a collection of values, some repeated.
Here's one method, using an auxiliary table to rearrange the values into a single column list, then index the first occurrence of each name.
The VU table, then uses that index to extract the distinct names from the list in AUX.

The formula shown below the tables is entered in A2 of the auxiliary table, AUX, then filled down to as many rows as needed to accommodate the full list of names. In the form shown, the formula will produce an error flag in rows of column A beyond the number of names listed on the Schedule table. Once the formula has been entered as shown, and is working correctly for rows where there is a name to be copied, that formula can be wrapped in IFERROR to suppress the error flag and allow adding rows to AUX for future expansion of the list.
AUX::A2: OFFSET(Schedule::$A$1,MOD(ROW()−2,ROWS(Schedule::$B,1))+1, QUOTIENT(ROW()−2,ROWS(Schedule::$B,1))+1)
Wrapped in IFERROR:
IFERROR(OFFSET(Schedule::$A$1,MOD(ROW()−2,ROWS(Schedule::$B,1))+1, QUOTIENT(ROW()−2,ROWS(Schedule::$B,1))+1),"")
Column B of AUX contains this formula, entered in B2, then filled down to the end of columnB.
AUX::B2: IF(COUNTIF(A$2:A2,A2)=1,MAX(B$1:B1)+1,"")
This inserts an index number marking the row where each name first occurs in the list in column A, and a null string ( "" ) in all other rows. he formula will echo any error flags in column A, but needs no changes to perform as intended with the revised column A formula shown.
Here are the Schedule and AUX tables with the revised formula, and enough spare rows to add two more columns to Schedule.
One column has been added, and filled with names, one of them new.
(I also narrowed the width of the columns for an easier fit in the space here.)

The VU table contains the formula shown below the tables, used to collect the distinct names from the full list in AUX:
VU::A2: IF(ROW()−1>MAX(Aux::B),"",INDEX(Aux::A,MATCH(ROW()−1,Aux::B,0)))
Regards,
Barry