One reason is that FP units did not exist for as long as the integer pipes did. The FP pipes are where coprocessor logic was absorbed into an integer CPU.
Split register files can have a number of benefits.
You get more capacity for each type of data, instead of having half as much for each.
This can also be done without adding extra bits for IDs, as space in the encoding is something you don't want to waste. Simply going by the opcode, you can pick between two register pools without spending 2-3 more bits per instruction if they shared the same file.
With multi-issue architectures, the number of operands that can be read from or written to a register file can be become a serious bottleneck.
Highly ported register files dedicate more area and burn more power in the circuitry that surrounds them, and the complexity adds cost in terms of engineering or clock penalties.
Since FP and integer work infrequently need the same data and have different needs for register size and arrangement, you can split them apart and either have two simpler register files as opposed to one heavily engineered one, or you can have two multi-issue pipelines with complex register files that would have been impractical if they were unified.
The downside is that there is an additional latency penalty in the cases you do want to transfer work from one side to the other, and you now have on-chip storage that you can't freely use if you have a workload that needs more of one register type but not the other.
All that being said, there are now GPUs on the market that do have a separate files.