カートの「ご購入手続きへ」ボタンをクリックした際に、
必須inputに入力がなくても、
チェックアウトフローに入ってしまう、
ということで合っていますでしょうか?
上記で合っているようでしたら、
Craftのカートのコードを見てみますと、
「ご購入手続きへ」ボタンが、
タグのsubmitではなく、おそらくJavaScriptでsubmitしているため、
要素のreuired属性は無視されてしまうものと思われます。
(確証はありませんが。)
おそらく、
最も簡単な実装方法は、下記をJavaScriptで実装する、ではないかと思います。
利用規約への同意チェックボックスにチェックが入っていない場合、
「ご購入手続きへ」ボタンを表示しない。
掲載いただているコードで表現しますと下記のようになるかと思います。
(動作検証はしておりません。)
ご参考まで。
(キュー田辺)