Fixed it! New code below:
pagesToFormspec[pages_List] :=
MapIndexed[<|
"Title" -> <|"Label" -> #[["Title"]], "Required" -> False,
"Hidden" -> True|>,
"Description" -> <|"Label" -> #[["Description"]],
"Required" -> False,
"Hidden" -> True|>, {"page" <>
ToString[#2[[1]]], #[["Title"]]} -> #[["Choice"]],
"Page" -> <|"Label" -> ToString[#2[[1]]], "Required" -> False,
"Hidden" -> True|>|> &, pages]
questions = {<|"Title" -> "Question 1.1",
"Description" ->
"If the supply curve for orange juice is estimated to be Q = 40 + \
2p, then, at a price of p = 2, the price elasticity of supply is",
"Choice" -> <|
"Interpreter" -> {"A" -> 1, "B" -> 2, "C" -> 3, "D" -> 4},
"Control" -> RadioButtonBar|>|>, <|"Title" -> "Question 1.2",
"Description" -> "2+2 is",
"Choice" -> <|
"Interpreter" -> {"A" -> 2, "B" -> 4, "C" -> 6, "D" -> 8},
"Control" -> RadioButtonBar|>|>}
CloudDeploy[
FormFunction[pagesToFormspec[questions], func, FormLayoutFunction ->
(Grid[{{Annotation[
Style[#["Title", "Label"],
"Section"], {"class" -> "form-title"},
"HTMLAttrs"]}, {Annotation[
Style[#["Description", "Label"], "Text"],
{"class" -> "form-description"}, "HTMLAttrs"]}, {#[
"page" <> #["Page", "Label"][[1]]]}},
Alignment -> Left] & )], "formtest"]