Tested for version 1.16.* to 1.17.*

Type: Single Will remove itself after all commands are executed.

summon falling_block ~ ~1 ~ {Time:1,BlockState:{Name:redstone_block},Passengers:[
{id:falling_block,Passengers:[
{id:falling_block,Time:1,BlockState:{Name:activator_rail},Passengers:[
{id:command_block_minecart,Command:'gamerule commandBlockOutput false'},

{id:command_block_minecart,Command:'say FIRST COMMAND HERE'},
{id:command_block_minecart,Command:'say SECOND COMMAND HERE'},
{id:command_block_minecart,Command:'...'},

{id:command_block_minecart,Command:'setblock ~ ~1 ~ command_block{auto:1,Command:"fill ~ ~ ~ ~ ~-3 ~ air"}'},
{id:command_block_minecart,Command:'kill @e[type=command_block_minecart,distance=..1]'}]}]}]}

raw:

summon falling_block ~ ~1 ~ {
   "Time":1,
   "BlockState":{
      "Name":"redstone_block"
   },
   "Passengers":[
      {
         "id":"falling_block",
         "Passengers":[
            {
               "id":"falling_block",
               "Time":1,
               "BlockState":{
                  "Name":"activator_rail"
               },
               "Passengers":[
                  {
                     "id":"command_block_minecart",
                     "Command":"gamerule commandBlockOutput false"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"say FIRST COMMAND HERE"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"say SECOND COMMAND HERE"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"..."
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"setblock ~ ~1 ~ command_block{auto:1,Command:\"fill ~ ~ ~ ~ ~-3 ~ air\"}"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"kill @e[type=command_block_minecart,distance=..1]"
                  }
               ]
            }
         ]
      }
   ]
}

Type: Rerun The original command block will stay and be updated to [Needs Redstone] so you can easily rerun the command.

Minified:

summon falling_block ~ ~1 ~ {Time:1,BlockState:{Name:redstone_block},Passengers:[
{id:falling_block,Passengers:[
{id:falling_block,Time:1,BlockState:{Name:activator_rail},Passengers:[
{id:command_block_minecart,Command:'gamerule commandBlockOutput false'},
{id:command_block_minecart,Command:'data merge block ~ ~-2 ~ {auto:0}'},

{id:command_block_minecart,Command:'say FIRST COMMAND HERE'},
{id:command_block_minecart,Command:'say SECOND COMMAND HERE'},
{id:command_block_minecart,Command:'...'},

{id:command_block_minecart,Command:'setblock ~ ~1 ~ command_block{auto:1,Command:"fill ~ ~ ~ ~ ~-2 ~ air"}'},
{id:command_block_minecart,Command:'kill @e[type=command_block_minecart,distance=..1]'}]}]}]}

Raw:

summon falling_block ~ ~1 ~ {
   "Time":1,
   "BlockState":{
      "Name":"redstone_block"
   },
   "Passengers":[
      {
         "id":"falling_block",
         "Passengers":[
            {
               "id":"falling_block",
               "Time":1,
               "BlockState":{
                  "Name":"activator_rail"
               },
               "Passengers":[
                  {
                     "id":"command_block_minecart",
                     "Command":"gamerule commandBlockOutput false"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"data merge block ~ ~-2 ~ {auto:0}"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"say FIRST COMMAND HERE"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"say SECOND COMMAND HERE"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"..."
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"setblock ~ ~1 ~ command_block{auto:1,Command:\"fill ~ ~ ~ ~ ~-2 ~ air\"}"
                  },
                  {
                     "id":"command_block_minecart",
                     "Command":"kill @e[type=command_block_minecart,distance=..1]"
                  }
               ]
            }
         ]
      }
   ]
}