Does this sequence reach infinity?

No, this quite quickly gets stuck in a loop. The term $a_{68} = 16 = a_4$.

Here's a quick python3 script that, given a starting value $a_0$, runs until it finds a loop in the sequence. Try it here.

def remove_repetitions(num):
    new_string = ''
    for index, character in enumerate(str(num)):
        if index == 0:
            new_string += character
        else:
            if character != str(num)[index-1]:
                new_string += character
    return int(new_string)

def fn(num):
    return remove_repetitions(2*num)

ind = 0
num = 1
print(ind, num)
unique_numbers = [num]

while True:
    ind += 1
    num = fn(num)
    print(ind, num)
    if num in unique_numbers:
        print('Found loop')
        break
    else:
        unique_numbers.append(num)

Here's a list of the first 70 elements of the sequence in the form $(n, a_n)$

[(0, 1), (1, 2), (2, 4), (3, 8), (4, 16), (5, 32), (6, 64), (7, 128), (8, 256), (9, 512), (10, 1024), (11, 2048), (12, 4096), (13, 8192), (14, 16384), (15, 32768), (16, 6536), (17, 13072), (18, 2614), (19, 528), (20, 1056), (21, 212), (22, 424), (23, 848), (24, 1696), (25, 392), (26, 784), (27, 1568), (28, 3136), (29, 6272), (30, 1254), (31, 2508), (32, 5016), (33, 1032), (34, 2064), (35, 4128), (36, 8256), (37, 16512), (38, 3024), (39, 6048), (40, 12096), (41, 24192), (42, 48384), (43, 96768), (44, 193536), (45, 387072), (46, 7414), (47, 14828), (48, 29656), (49, 59312), (50, 18624), (51, 37248), (52, 7496), (53, 1492), (54, 2984), (55, 5968), (56, 1936), (57, 3872), (58, 74), (59, 148), (60, 296), (61, 592), (62, 184), (63, 368), (64, 736), (65, 1472), (66, 294), (67, 58), (68, 16), (69, 32), (70, 64)]