Beginners question: how to formulate this assignment/scheduling problem?

There is a stackexchange for more modeling type questions: https://or.stackexchange.com

You could, for example, add constraints like this which limit the ability to have back-to-back talks:

for m in 2:(M - 1)
    @constraint(model, sum(x[(m - 1):(m + 1)]) <= 1)
end

Otherwise a common approach to this is to generate a bunch of columns in your matrix a priori, assign a binary variable for each column/speaker pair (indicating if the speaker has talks for the column) and then have constraints saying that the sum across the row has to be <= 1 (at most one talk per slot) and that each speaker has to pick one column. Then your objective coefficients can measure how “regular” the talks in a particular column are. But a naive implementation can scale poorly as M gets large.