Who assigns these callsigns, and what is the pattern for the naming?
Callsigns are allocated by ICAO. Their Annex 10 Radiotelephony Procedures says
5.2.1.7.2 Radiotelephony call signs for aircraft
5.2.1.7.2.1 Full call signs
5.2.1.7.2.1.1 An aircraft radiotelephony call sign shall be one of the following types:
Type a) — the characters corresponding to the registration marking of the aircraft; or
Type b) — the telephony designator of the aircraft operating agency, followed by the last four characters of the registration marking of the aircraft;
Type c) — the telephony designator of the aircraft operating agency, followed by the flight identification.
Note 1.— The name of aircraft manufacturer or name of aircraft model may be used as a radiotelephony prefix to the Type a) call sign above (see Table 5-1).
Note 2.— The telephony designators referred to in b) and c) above are contained in ICAO Doc 8585 — Designators for Aircraft Operating Agencies, Aeronautical Authorities and Services.
In the case of TOM6347 / TOM1FT,
Flight Number: TOM6347
Aircraft Registration: G-CPEU
Aircraft type: B752
Callsign: TOM1FT
As Jamiec commented, TOM1FT 'matches "C" 'matches "C" - 1FT is the carrier-allocated "flight identification"'
I guess the use of alphanumeric flight identifications may be due to the 7- 1FT ischaracter limit on ICAO callsigns, the carrieruse of 3-allocated "flight identification"'character ICAO prefixes, the use of single-character suffixes (e.g. for delayed flights) and the need by large airlines for more than 1000 flight numbers - Reference
Flight Identifications can be changed when two or more flights with similar flight numbers fly close to each other.