Official comment
For number 1, you can have a "Day of Week" criteria in a Wait element. That allows you to have a contact wait until that day of the week before passing through.

For newsletter style campaigns we recommend you build out the campaign with multiple triggers, one for each first day of the month. After you build the first campaign path for your first month you can copy it for subsequent months and simply change the date in the Trigger. This link shows how that works.
We'll keep this open for comments and votes to see if there's a demand for an evergreen, looping Trigger for the "first of every month".