Matrix multiplication and dot-product
Your definition of transpose is correct, although it can be written succinctly as:

(define (transpose mat)
  (accumulate-n cons null mat))


The remaining two definitions may be written more succinctly by using functions defined earlier.  Notice that multiplying a matrix to a vector is conceptually the same as obtaining the dot-product of the vector and each row of the matrix.  Thus, one may define matrix-*-vector as:

(define (matrix-*-vector m v)
  (map (lambda (row) (dot-product v row)) m))


The above definition satisfies the requirement of the exercise.

Similarly, matrix multiplication of A to B is the same as transposing B and performing a matrix-vector multiplication with each row of A.  Thus, one may define matrix-*-matrix as:

(define (matrix-*-matrix m n)
  (let
      ((cols (transpose n)))
    (map (lambda (row) (matrix-*-vector cols row)) m)))


If you wish to go farther than the exercise requires, you may consider using function currying.  Currying allows one to apply a function to arguments incrementally.  If your implementation of Scheme provides the curry function, you may write:

(define (matrix-*-vector m v)
  (map (curry dot-product v) m))

(define (matrix-*-matrix m n)
  (map (curry matrix-*-vector (transpose n)) m))