You can place the labels on the top or on the left (works for left-right readers since they also read top to bottom).
The thing that you need to keep in mind is the layout of the labels, so the user does not confuse the label to be associated with the input above it rather than the input below it. Aka, follow the Gestalt laws of grouping, mainly the proximity law in this case, but you should always keep these in mind while designing layout :)

Regarding the asterisks, you can have them with with the label or at the end of the field to not attract immediate user attention.
Some alternatives to asterisks are:
- Only ask for required information
- Use bold text
- Highlight the required text labels