OK, the Primary Address is an attribute of the project and should be stored in the Project record: every project has a primary address.
Secondary addresses are a different attribute from the primary address: there can be none, one, or many secondary addresses. So you use a sub-table for secondary addresses.
Query for projects and their secondary addresses uses a left join so that projects without any secondary address are not excluded. You do not need another table to relate secondary addresses to projects, you store the project id with the secondary address itself.
Understand, just because things have similar names, or even look the same, like primary and secondary address, does not mean that they are the same thing. In this case, niether is an entity, and both are different attributes of the project entity.