I'm sorry, but your goal is difficult, virtually impossible. It depends on how close they must be to "orthogonal". In fact, in only 24 dimensions, if you take any 4096 vectors in 24 dimensions, one of them will actually be quite close to at least ONE of the other vectors. Nearly mutually orthogonal will be almost impossible, although you could think about how to make them maximally different. First though, you need to understand what is the issue.
You can view this as a dense packing problem of sorts. To make it easy, think in a LOW number of dimensions. 2-d or 3-d are nice things, because we can visualize what is happening.
Start with 2-d. Suppose I asked you to find a set of two vectors that are maximally orthogonal to each other in the plane? That is easy. In fact, we can visualize it in terms of finding two points on a unit half circle that are 90 degrees apart. This is because a vector will define a line through the origin, and where that line crosses the unit circle will also define the vector. So there is a one-to one correspondence between the set of possible vectors we care about, and the set of points on the perimeter of a circle. And since a line passes through a unit circle in two places, diametrically opposite, then we need only think about the semi-circle in the first and second quadrants.
For example...
x = cos(theta),y = sin(theta);
x =
1.0000 0.9995 0.9980 0.9955 0.9920 0.9874 0.9819 0.9754 0.9679 0.9595 0.9501 0.9397 0.9284 0.9161 0.9029 0.8888 0.8738 0.8580 0.8413 0.8237 0.8053 0.7861 0.7660 0.7453 0.7237 0.7015 0.6785 0.6549 0.6306 0.6056
plot(x,y,'g-',[0 0;v1(1),v2(1)],[0 0;v1(2),v2(2)],'r-')
That was easy, right? So we can think of two vectors in the plane, simply by thinking about where they intersect the unit upper semi-circle. But suppose now I asked you to create 4096 such vectors in the plane? Now we can think of 4096 points on the unit semi-circle. Would you agree the correspondence still works? But would you also agree that any of those vectors will actually be EXTREMELY close to its immediate neighbors on the unit semi-circle?
You simple could not ask to find 4096 nearly orthogonal vectors in the plane. In fact, they are all incredibly close to at least one other vector. Again, we can view this a a packing problem on the unit circle. Find 4096 points on the unit circle that are as far apart from each other as possible. In 2-d, this is easy.
Interestingly, it looks like the plot did not show 4096 points, since they would be packed so denssely, as to become visually indistinguisable. Regardless, you get the idea.
If we wanted to find vectors that are maximally orthogonal to each other, then we want to pack points on the surface of a unit sphere, so they are maximally distant from each other.
Therefore, finding 4096 maximally orthogonal vectors as you wish to do is the fundamental equivalent to packing 4096 maximally equidistant points on the surface of a sphere in 24 dimensions. Yes, a 24 dimensional hyper-sphere is a big place to fit a lot of things. But not that big. Effectively, you are asking to find 4096 points on the surface of that unit 24 dimensional hyper-sphere. They simply will not be very orthogonal. What is worse though, is the problem of sphere packing in higher numbers of dimensions is a difficult one to solve.
You may almost be in luck, in a sense.
In that link, we see that a Ukrainian mathematician has solved the sphere packing problem in specifically 8 and 24 dimensions. Does that effort apply to packing on the surface of a sphere? Sadly, probably not, since there you effectively need to pack in 23 dimensions.
Ok. How might I try to most simply solve your problem, as closely as I can, so that I can find n-vectors that are maximally orthogonal? I would start with a large number of randomly scattered points on the surface of the unit hyper-sphere. Then find the closest pair of points, and discard one of them, arbitrarily. Repeat until you have only 4096 points remaining.