As mentioned in the other thread, the missing step is transferring the canvas framebuffer to the EPD.
If your loop function is changed as below, it works as you expect.
void loop() {
for (int i=1; i<7; i++)
{
canvas1.drawString(testString[i],20,20);
/* m5epd_err_t UpdateArea(uint16_t x, uint16_t y, uint16_t w, uint16_t h, m5epd_update_mode_t mode); */
M5.EPD.WriteFullGram4bpp((uint8_t*)canvas1.frameBuffer());
M5.EPD.UpdateArea(0,0,100,100,UPDATE_MODE_GL16);
delay(1000);
}
}