As stated int he question, is compression methods list in the client_hello in TLS 1.2 a mandatory field (it is clear that it is mandatory in session_resumption, but not clear to me whether it is mandatory in the new session case)?
Reference to the standard TLS 1.2, RFC 6246, chapter 184.108.40.206 (formatted):
This is a list of the compression methods supported by the client, sorted by client preference. If the session_id field is not empty (implying a session resumption request), it MUST include the
compression_methodfrom that session. This vector MUST contain, and all implementations MUST support,
CompressionMethod.null. Thus, a client and server will always be able to agree on a compression method.