No they do not have to be the same.
You can change the table name if you are using transactional replication.
You may elect to publish some of the columns of a table (vertical filtering) as well.
Depending on the options you take, you may elect to have constraints, indexes, triggers defined on the replica.