Can this be done more simpler or not

Your image included a lot of empty space and four redundant pieces.
image

Try using these two images.

1

2

// '1', 13x10px
const unsigned char epd_bitmap_1 [] PROGMEM = {
	0x00, 0x38, 0x0f, 0x78, 0x0f, 0xb0, 0x07, 0xc0, 0x3b, 0xc0, 0xfd, 0xe0, 0xf8, 0xf8, 0x60, 0x60, 
	0x00, 0x60, 0x00, 0x40
};
// '2', 41x28px
const unsigned char epd_bitmap_2 [] PROGMEM = {
	0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x00, 
	0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x38, 0x1c, 0x1f, 0x81, 0xf0, 0x00, 0x5c, 0x7f, 0x1f, 0xe3, 0xfe, 0x00, 0x1c, 0xff, 0x9f, 0xf3, 
	0xff, 0x00, 0x0e, 0xf7, 0x9f, 0xfb, 0xff, 0x80, 0x07, 0x60, 0x1c, 0x7b, 0x87, 0x80, 0x03, 0xb0, 
	0x1c, 0x3b, 0x83, 0x80, 0x03, 0x9f, 0x1c, 0x7b, 0x83, 0x80, 0x01, 0xcf, 0x9f, 0xf3, 0x83, 0x80, 
	0x02, 0xe7, 0xdf, 0xe3, 0x83, 0x80, 0x01, 0x79, 0xdf, 0xe3, 0x87, 0x80, 0x01, 0xbd, 0xdc, 0xf3, 
	0xff, 0x80, 0x00, 0xce, 0x9c, 0x7b, 0xff, 0x00, 0x00, 0x67, 0x1c, 0x7b, 0xfe, 0x00, 0x00, 0x3b, 
	0xc8, 0x39, 0xf8, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x01, 0xff, 
	0xc0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00
};

// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 240)
const int epd_bitmap_allArray_LEN = 2;
const unsigned char* epd_bitmap_allArray[2] = {
	epd_bitmap_1,
	epd_bitmap_2
};

Place the big one "in the middle" and place the small one at four places around the edge... move all the same way the original is moved.

  Rui Santos
  Complete project details at https://randomnerdtutorials.com
*********/

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// '1', 13x10px
const unsigned char small [] PROGMEM = {
  0x00, 0x38, 0x0f, 0x78, 0x0f, 0xb0, 0x07, 0xc0, 0x3b, 0xc0, 0xfd, 0xe0, 0xf8, 0xf8, 0x60, 0x60,
  0x00, 0x60, 0x00, 0x40
};
// '2', 41x28px
const unsigned char big [] PROGMEM = {
  0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x00,
  0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x38, 0x1c, 0x1f, 0x81, 0xf0, 0x00, 0x5c, 0x7f, 0x1f, 0xe3, 0xfe, 0x00, 0x1c, 0xff, 0x9f, 0xf3,
  0xff, 0x00, 0x0e, 0xf7, 0x9f, 0xfb, 0xff, 0x80, 0x07, 0x60, 0x1c, 0x7b, 0x87, 0x80, 0x03, 0xb0,
  0x1c, 0x3b, 0x83, 0x80, 0x03, 0x9f, 0x1c, 0x7b, 0x83, 0x80, 0x01, 0xcf, 0x9f, 0xf3, 0x83, 0x80,
  0x02, 0xe7, 0xdf, 0xe3, 0x83, 0x80, 0x01, 0x79, 0xdf, 0xe3, 0x87, 0x80, 0x01, 0xbd, 0xdc, 0xf3,
  0xff, 0x80, 0x00, 0xce, 0x9c, 0x7b, 0xff, 0x00, 0x00, 0x67, 0x1c, 0x7b, 0xfe, 0x00, 0x00, 0x3b,
  0xc8, 0x39, 0xf8, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x01, 0xff,
  0xc0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00
};

void setup() {
  Serial.begin(115200);

  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for (;;)
      ;
  }

  // Clear the buffer.
  display.clearDisplay();

  // Draw bitmap on the screen
  display.drawBitmap(30, 10, small, 13, 10, 1);
  display.drawBitmap(80, 10, small, 13, 10, 1);
  display.drawBitmap(30, 40, small, 13, 10, 1);
  display.drawBitmap(80, 40, small, 13, 10, 1);
  display.drawBitmap(41, 17, big, 41, 28, 1);
  display.display();

  delay(2000);
}

void loop() {

  for (int i = 0; i <= 70; i++) {
    display.clearDisplay();
    display.drawBitmap(i, 10, small, 13, 10, 1);
    display.drawBitmap(i+45, 10, small, 13, 10, 1);
    display.drawBitmap(i, 40, small, 13, 10, 1);
    display.drawBitmap(i+45, 40, small, 13, 10, 1);
    display.drawBitmap(i+10, 17, big, 41, 28, 1);
    display.display();
  }
}

[edit]
I found only a 1% saving.

1 image...

Sketch uses 14568 bytes (47%) of program storage space. Maximum is 30720 bytes.
Global variables use 523 bytes (25%) of dynamic memory, leaving 1525 bytes for local variables. Maximum is 2048 bytes.

Two images...

Sketch uses 14282 bytes (46%) of program storage space. Maximum is 30720 bytes.
Global variables use 523 bytes (25%) of dynamic memory, leaving 1525 bytes for local variables. Maximum is 2048 bytes.