I've dropped the Publication and I've started over completely. It says the Snapshot is fine, but still getting the same Truncate Only error. I tried targeting two different servers as Subscribers. Both get same error.
As a test, I created another Publication as well, on a different database and it worked fine.
As another test, I created a publication on the same database, as a snapshot, but with only 1 table and it worked fine.
Third test, I created a Snapshot publication with all 20 tables that I need replicated. This one also failed with the same error.