A single scale factor cannot be used since the range of the plots is different. One way to do it e.g. for the first plot
Plot[{Im[y] /. {xi -> 10}, Re[x] /. xi -> 50, Re[x] /. xi -> 100}, {k,0, 100},
PlotRange -> All,
PlotStyle -> {Directive[Red, Thick], Directive[Blue, Dashed, Thick], Directive[Black, Thick, Dashed]},
Frame -> True,
FrameStyle -> Thick,
PlotLegends -> {"K for \[Xi] = 10", "K for \[Xi] = 50", "K for \[Xi] |= 100"},
FrameLabel -> {"Wave number (K)", "Imaginary frequency (\!\(\*SubscriptBox[\(\[CapitalOmega]\), \ \(i\)]\))"},
RotateLabel -> True,
AspectRatio -> 0.5,
FrameTicks -> {{Charting`ScaledTicks[{10^9 # &, #/10^9 &}], None}, {Automatic, None}}]