How to tell that two or more languages are different from each other? I mean what are the linguistic features that are best indicators of language being different e.g. may be numerals, pronominals, verbs and more
The usually stated criterion is mutual intelligibility. That is, if you can understand someone else's speech, and they can understand yours, then you speak the same language, and any differences in your speech are merely dialectal
Unfortunately, like the commonly stated criterion for specieshood in biology (that if two populations can interbreed and produce fertile offspring they are the same species), this doesn't really work in all cases and has several problems that make this seemingly objective criterion fuzzy at best and unworkable at worst
It acts like mutual intelligibility is binary yes/no, but in many cases there is partial intelligibility. As an example, some sentences and phrases in Dutch are perfectly intelligible to English speakers (e.g. "dank je wel" lit. "thank you well"), but in most more complicated sentences you'll struggle to get much out of it. How well do the two speakers have to be able to understand each other for us to count it?
Intelligibility is not always mutual. Sometimes one person can understand the other better than they are understood themself. Well known examples are Danes understanding Swedes better than vice versa, and Poles understanding Russians better than vice versa (even choosing specifically young poles who did not have exposure to Russian under the Soviet Union). This makes our problem of how intelligible does it need to be even worse
The biggest problem though is that of dialect continua. These are very common and consist of a wide area where speech varies gradually from one end to the other. A concrete examples is that of Continental West Germanic
This dialect continuum stretches from Austria & Switzerland in the South, all the way up to Lower Saxony in the North, and to Dutch in the Northwest. In all cases, people in one village can understand the speech of the neighbouring villages, but villagers from Burgenland in Austria, Bern in Switzerland, Saarland & Mecklenburg-Vorpommern in Germany, and Zeeland in Netherlands are going to understand next to nothing of each other's normal speech
The problem here is that mutual intelligibility is not transitive (i.e. A is mutually intelligible with B, and B is mutually intelligible with C does not imply that A is mutually intelligible with C) whereas a statement that two things are the same is an equivalence relation and is transitive (i.e. if A is the same language as B, and B is the same language as C, then A & C must be the same language as each other)
So something you often see now is a bit of an abandonment of the whole idea of there being a specific point at which the speech in different places becomes two different languages. Instead it is becoming common simply to refer to varieties at all levels of analysis including for entire dialect continua .g. Bernese German is a variety of Swiss German, which is a variety of High German, which is a variety of Continental West Germanic
In practice, outside of scholarship though, more pragmatic and often political concerns dominate. Linguistically, the Sinitic languages are not even a single dialect continuum and haven't been for centuries, and yet due to political pressure from Beijing they are frequently called "dialects". In the other direction, Standard Serbian, Croatian, Bosnian, & Montenegrin are all standards based on the same variety: East Herzegovinian Shtokavian but, after the breakup of Yugoslavia are now frequently referred to as distinct languages. All four countries do have their own linguistic diversity, and do include wildly different varieties of South Slavic, but the standard languages differ only in fairly trivial ways from each other
The old saying goes "a shprakh iz a dialekt mit an armey un flot" that is "a language is a dialect with an army and a navy"
The question has to be paraphrased, because "two languages" implies that there are two languages and not just one, and two languages are always different, by some amount. If "they" are the same in all respects, they are one language. The question makes more sense as being about two collections of language data, and whether they come from the same language.
Usually, people think of "same" in historical-genetic terms, that is, did they descend from a common ancestor. Another way of looking at the question – not what most people think of when they talk about languages as being "the same" – is in terms of structural similarity, e.g. do they have highly similar case systems, phoneme inventories, syllable structure, word order, verb inflections? I think most people know that German and English are genetically related, likewise French and Spanish, and they would not say that those pairs are "the same language". So being "the same" means being genetically related, descending from some common ancestor language. In that context, among historically related languages some are so closely related that we might call them "dialects", but others are less closely related and would be "different languages".
Whether or not two related languages are different languages or dialects of a single language cannot be answered to the satisfaction of all linguists, but the most satisfactory answer (which is still unsatisfactory) is an operational test, the mutual intelligibility test. If speakers of A can easily understand each other, likewise B, and speakers of A can easily understand speakers of B and vice versa, then you have passed the test for being a "dialect". A superficial problem with that test is that you may run your test on a handful of bilingual speakers (result: Corsican and French might appear to be dialects, when sampled in Corte), so obviously there is a lot of sociolinguistic research that has to go into getting a speaker sample.
My own self-test (bad science!) is that US and various especially northern dialects UK English are different languages, because I don't (didn't) understand the Newcastle dialect but nobody objected that they didn't know what I was saying. This is almost certainly difference in exposure, that my dialect of US English is widely broadcast, and their dialect is very under-exposed in the US.
On the other side of the equation, the "not even dialectally different" scale is very hard to assess. There is a famous vowel neutralization in US dialects where "cot" and "caught" are pronounced the same in some parts of the country but are different elsewhere: I speak the "same vowel" dialect. Turns out my mother spoke the "different vowel" dialect, but I would not have ever said that we spoke different dialects. There are extremely subtle differences in pronunciation correlated with demographic facts which sociophoneticians can detect and write dissertations about, which most people (me included) don't even notice. That is, deciding that people speak "the same dialect" is extremely difficult.
A simple "dialect" test is asking for naming and sameness judgments: "Is this the Tigrayan dialect?", "does he talk the same way you do?". The question has to be asked with knowledge of ideological issues (political issues that lead to linguistic under-differentiation or over-differentiation). In short, there is no practical means of distinguishing same/different language/dialect.