Try this command:
/summon villager ~ ~1 ~ {VillagerData:{profession:farmer,level:2,type:plains},Offers:{Recipes:[{buy:{id:acacia_boat, Count:1b},sell:{id:emerald,Count:1b,tag:{display:{Name:"\"aqua\"",Lore:["\"TOKENNNN\""]}}},maxUses:9999999},{buy:{id:acacia_boat, Count:1b},buyB:{id:acacia_boat, Count:1b},sell:{id:emerald,Count:1b,tag:{display:{Name:"[{\"text\":\"Token\",\"color\":\"aqua\",\"italic\":true},{\"text\":\"ken\",\"color\":\"aqua\",\"italic\":true}]"},HideFlags:1}},maxUses:9999999}]}}
Expanded:
/summon villager ~ ~1 ~
{
VillagerData: {profession: farmer, level: 2, type: plains},
Offers: {
Recipes: [
{
buy: {id: acacia_boat, Count: 1b},
sell: {
id: emerald,
Count: 1b,
tag: {
display: {
Name: "\"aqua\"",
Lore: ["\"TOKENNNN\""]
}
}
},
maxUses: 9999999
},
{
buy: {id: acacia_boat, Count: 1b},
buyB: {id:acacia_boat, Count: 1b},
sell: {
id: emerald,
Count: 1b,
tag: {
display: {
Name: "[{\"text\":\"Token\",\"color\":\"aqua\",\"italic\":true},{\"text\":\"ken\",\"color\":\"aqua\",\"italic\":true}]"
},
HideFlags: 1
}
},
maxUses: 9999999
}
]
}
}
The main issue was with your JSON text for the second offer. Yours was (unescaped):
"Token"," color":"aqua","italic":true},{"text":"ken","color":"aqua","italic":true}]",},HideFlags:1}"
Not only did you include the HideFlags NBT tag in the JSON text components, but there are missing brackets and an extra quote and space. The correct JSON is
[
{
"text": "Token",
"color": "aqua",
"italic": true
},
{
"text": "ken",
"color": "aqua",
"italic": true
}
]
Also, you should always include b or B after a byte tag (like in Count).