I am an amatuer chess player and I want to know the difference between Elo rating and FIDE rating (for example, a 2500 Elo rating is needed for GM title).
The Elo rating system is a rating system for two-person, zero-sum games based on the assumption that performance is normally distributed. That is, a player's performance is expected to follow a normal distribution. For FIDE the mean = the player's rating and standard deviation = 2000/7 = 285.7.
It was developed by Arpad Elo and first implemented by the USCF at a meeting in St Louis (where else?) in 1960. So, the USCF rating system is the original Elo rating system. It was later adopted by FIDE in 1970. Many other federations also implement Elo rating systems and it is also used in other sports, for instance soccer.
It has since been discovered that players' performances are not strictly normally distributed. Lower rated players have a better chance of an upset result against higher rated players than their ratings suggest and so the basic system has been tweaked by different federations (including FIDE) over the years. Varying k factors are one variable that is changed.
Elo rating systems predict relative performance, not absolute performance. Hence FIDE, USCF, Lichess, Chess24 ratings, although all elo rating systems, are not comparable. All you can say is that if player A has a higher rating in one implementation than player B then you expect that in a different implementation player A will again have a higher rating than player B although it is not certain. The likelihood will depend on the difference in ratings and the standard deviations of the systems.
So, the bottom line is that Elo rating is a system of rating and FIDE rating is a particular implementation of Elo rating.
To make GM, a 2500 FIDE rating is needed, among other thing. But there is not a separate "Elo rating" which is also needed.
Elo rating is a generic term for any rating system based on the work of Arpad Elo. It's also often used as shorthand for FIDE rating. If someone says their rating is 2500 Elo, that normally means 2500 FIDE.
From your context, there is no difference between the two. "Elo" (From Arpad Elo, a professor at Marquette University and president of one of the two organizations that merged to form the US Chess Federation back in 1939 -- IIRC he chaired the meeting that resulted in the merger) when used by in the context of FIDE titles typically refers to the FIDE rating system. Professor Elo created the rating system used by FIDE, and was responsible for calculating the FIDE ratings in the initial years after its adoption. You can read a description of his original system in his book "The Rating Of Chessplayers Past and Present."
Professor Elo created his system with the numeric range it has in order to cause the least amount of disruption to the USCF, which was at the time using the Harkness system; his preference was for a two-digit system as he thought four digits implied a greater precision than the system was capable of.
It's not surprising that some who came later would tweak the system, given Elo's own view of its precision. But as he observed in his book, the real problem with any rating system is that it's trying to predict human behavior without taking into account factors that would affect it. As a measure of past performance it works. As a predictor of the outcome of a single game, it leaves too much out of the equation to be more than mildly indicative.
Edit: My memory was wrong. It was Elo's successor, Kirk Holland, that chaired the merger meeting.